質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

Q&A

解決済

2回答

1197閲覧

gitでpushするとエラーが出ます。

dog57

総合スコア131

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

0グッド

1クリップ

投稿2017/12/11 12:38

GitLabでプロジェクトを作成し、git pushを行うと以下のエラーが出ます。

To https://andrew_753@gitlab.com/andrew_753/portfolio ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'https://andrew_753@gitlab.com/andrew_753/portfolio' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

調べながらおこなったのですが、解決できませんでした。
ご教授いただけると嬉しいです。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

なにかがコンフリクトしています。

  • git fetch originでリモートリポジトリの情報を取得(originの部分には、git remote -vで確認できる、リモートリポジトリの名前が入ります)
  • git merge origin/masterでマージを試みる(originは上と同様。masterの部分には、ローカルリポジトリのブランチ名が入ります)

当然mergeが拒否されるので、

  • git diffなどでコンフリクトしている箇所を確認し、修正する
  • 終わったら改めてgit pushを行う

という流れで解消しましょう。
コンフリクトを解消するやり方は、たくさんのサイトに載っています。git fetchなどコマンドの名前で検索してみるとヒットすると思います。

投稿2017/12/11 13:11

Udomomo

総合スコア1524

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dog57

2017/12/11 13:17 編集

ちなみに、git fetch コマンドを打つとこのようなエラーも出るのですがどういう意味でしょうか? error: RPC failed; result=22, HTTP code = 404
Udomomo

2017/12/11 23:44

そのエラーは体験したことがないですが、どうやらpush/fetchしようとする内容の量が多すぎるときに出るようです。https://stackoverflow.com/questions/13456025/rpc-failed-result-22-http-code-404 以前の質問で、/home/vagrantという大きな領域でローカルリポジトリを作り、そこからリモートリポジトリにpushしていたようですが、もしそのリモートリポジトリからfetchしようとしているのならそれがいけないかもしれません。 プロジェクトを作ったばかりなので、新しいリモートリポジトリを作り直して、そちらにpushしてみるのも良いと思います。
dog57

2017/12/12 01:05 編集

/home/vagrant/public_html フォルダに新しいローカルリポジトリを作成し、そこから fetch を行いました。そちらで出たエラーになります。 ですので、/home/vagrant/public_html フォルダで新しいリモートリポジトリを作成し、もう一度 push してみたいと思います。
dog57

2017/12/13 06:49

新しいローカルリポジトリを作成し、pushを行ったら成功しました。 ありがとうございます。
guest

0

non-fast-forward updates were rejected Merge the remote changes before pushing again

リモートが変更されていているから、そちらの変更を取り込んで再度試してみましょう。

$ git pull $ git push

投稿2017/12/11 13:19

ykws

総合スコア1236

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問