Git Remoteでのプッシュ/プル時の非高速前方エラー
質問する
リモート設定とプッシュでエラーが発生する可能性があります.
以下のとおりです. ! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/huusz/test.git'
プッシュを拒否する.local masterからリモートmasterブランチにマッピングしたいのですが、
non-fast-forward:これは、プライマリ・ブランチがローカル・リポジトリの古いバージョンではないことを意味します.
解決する
これは、Git pullを使用してファイルをローカルでインポートした後、リモート・リポジトリでさらにコミットが行われ、ローカルにコミット・ログがないためです.すなわち、git pushを使用するには、git pushを使用するには、リモート・リポジトリがローカル・リポジトリよりも常に高いバージョンである必要があります.(よく考えると論理的には正しい)
pushコマンドは、ローカルストレージコミットリストとリモートコミットリストを比較します.
その後、リモート・リポジトリで最後のcommit idとローカルの最後のcommit idを見つけ、接続します.ここでリモートで最後のcommit idが見つからないため、上記のエラーが発生しました.
解決策
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/huusz/test.git'
これは、Git pullを使用してファイルをローカルでインポートした後、リモート・リポジトリでさらにコミットが行われ、ローカルにコミット・ログがないためです.すなわち、git pushを使用するには、git pushを使用するには、リモート・リポジトリがローカル・リポジトリよりも常に高いバージョンである必要があります.(よく考えると論理的には正しい)
pushコマンドは、ローカルストレージコミットリストとリモートコミットリストを比較します.
その後、リモート・リポジトリで最後のcommit idとローカルの最後のcommit idを見つけ、接続します.ここでリモートで最後のcommit idが見つからないため、上記のエラーが発生しました.
解決策
git pull origin master
commit historyは関係なく、マージできません.
pullはfetch+merge操作です.現在の状況が取得されました.マージされていません.
デフォルトでは、mergeにはリモートストレージとローカルストレージの共通のコミットポイントが必要です.その点から合併するからです.
pullコマンドにオプションを追加してpullを強制
2つ目の方法を選択してpullコマンドにオプションを指定すると、この問題を簡単に解決できます.
git pull origin (branchname) --allow-unrelated-histories
git push、pull(致命的:関連のない履歴のマージを拒否)エラー
Reference
この問題について(Git Remoteでのプッシュ/プル時の非高速前方エラー), 我々は、より多くの情報をここで見つけました https://velog.io/@adguy/git-remote-에서-pushpull시-non-fast-forward-에러テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol