Gitエラー:rejected master -> master (non-fast-forward)の解決方法


このエラーの原因は、リモートのマスターブランチに他の変更が既にプッシュされているか、または他の人が同じリポジトリで変更を加えている可能性があることです。Gitは、リモートの変更とローカルの変更をマージする必要がある場合、通常は"fast-forward"マージを行います。しかし、リモートの変更とローカルの変更が競合する場合、このエラーが発生します。

  1. リモートの最新の変更を取得するために、まずgit pull origin masterコマンドを使用します。これにより、リモートの変更がローカルにマージされます。

  2. ローカルの変更をコミットし、変更を一時的に保存します。git commit -m "一時的な変更"コマンドを使用して、変更をコミットします。

  3. リモートのマスターブランチに再度プッシュします。git push origin masterコマンドを使用します。もし他の人が変更を加えていた場合、このステップで競合が発生する可能性があります。

  4. もし競合が発生した場合、競合解決ツールを使用して競合を解決します。競合解決ツールは、変更を手動で統合するためのツールです。一般的なツールとしては、Visual Studio CodeやGitのコマンドラインツールがあります。