Gitエラー: [rejected] main -> main (non-fast-forward) errorの解決方法


このエラーの一般的な原因は、他の人が既にリポジトリに変更をプッシュしており、あなたの変更がそれと競合している場合です。この場合、Gitは競合を回避するためにプッシュを拒否します。

以下に、このエラーを解決するためのいくつかの方法とコード例を示します。

  1. プルしてからプッシュする方法:

    $ git pull origin main

    リモートリポジトリの最新の変更を取得し、ローカルの変更とマージします。競合がある場合は、競合を解決してからコミットしてください。その後、プッシュしてみてください。

  2. 強制的にプッシュする方法:

    $ git push -f origin main
  3. リモートブランチを削除してから再作成する方法:

    $ git push origin --delete main
    $ git branch -D main
    $ git checkout -b main
    $ git push origin main

    リモートブランチを削除し、ローカルブランチを再作成してからプッシュします。

これらの方法のいずれかで、エラーメッセージ「[rejected] main -> main (non-fast-forward) error」を解決できるはずです。ただし、他の人との協力やチームのルールを守りながら操作してください。

以上が、Gitのエラーメッセージの原因と解決方法に関する説明です。