git push コマンドを実行すると "master -> master (non-fast-forward)" エラーが表示される - Git

git push コマンドを実行すると "master -> master (non-fast-forward)" エラーが表示される現象について紹介します。

現象

git push コマンドを実行すると下記のエラーが発生します。
  ! [rejected]        master -> master (non-fast-forward)
 error: failed to push some refs to 'http://(サーバーのリポジトリURL)'
 hint: Updates were rejected because the tip of your current branch is behind
 hint: its remote counterpart. Integrate the remote changes (e.g.
 hint: 'git pull ...') before pushing again.
 hint: See the 'Note about fast-forwards' in 'git push --help' for details.

原因

ローカルリポジトリが最新でないことが原因です。

対処法1:最新の状態にする

git pull
コマンドを実行し、ローカルリポジトリを最新の状態にします。

対処法2:マージされていないため、マージする

git fetch
git merge master
コマンドを実行し、マージしてからpush を実行します。

対処法3:ローカルリポジトリで管理対象外のファイルがある

git reset コマンドなどを実行した後で、リモートリポジトリでは管理対象になっており、ローカルリポジトリでは管理対象外であるファイルが存在している場合、 上記のエラーが発生します。管理対象外になったファイルをローカルのディレクトリから削除します。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-01-06
作成日: 2016-04-21
iPentec all rights reserverd.