1. ホーム

! 拒否]マスター->マスター(フェッチファースト)問題の解決法

2022-02-08 02:59:19

私が取り組んでいるのは git push -u origin master と表示され、以下のエラーが発生しました。

<テーブル
1




! [rejected] master -> master (fetch first)






git pull


原因を分析した結果、基本的にはgithub上のリモートライブラリとローカルのライブラリが異なっていると判断し(github上のファイルを編集して、ローカルでは更新していなかったのですが、他の理由もあるかも...)、調べた結果、2つの解決策が見つかりました。

優しい解決策

  1. によって git fetch まずローカルリポジトリをリモートと一致するように更新しますが、後からローカルリポジトリに加えた変更は上書きされる可能性があることに注意し、その場合は git pull (自動的にマージされません) 更新を確認してからオプションでマージするか、ローカルリポジトリを変更したファイルとともに先にバックアップしておきます。 git push を作成し、その後、手直しする。

  2. を再実行する。 git push -f と入力すれば、動作します。

暴力的なタイプのプログラム。

git は、強制的にアップロードする方法を提供しています。 git push -f バージョンの不整合などを無視して、ローカルリポジトリを強制的にリモートリポジトリにアップロードしてくれますが、-fでリモートリポジトリをローカルリポジトリで上書きしてしまい、リモートリポジトリに重要な更新や他の仲間が行った変更がある場合、それらも上書きしてしまうので、深刻な結果にならないように注意して使用する必要があります。