提出物はすべて master ブランチで提出されます。
プロジェクトは 2 つの当事者によって開発されています。お互いのファイルを頻繁に使用するため、コードを送信するたびに、メイン ブランチの開発をコミットして変更する予定はありません。 git pull
が発生しますが、エラーが頻繁に報告されます。git add . git commit git push
更新被拒绝,因为您当前分支的提示后面
Updates were rejected because the tip of your current branch is behind
何が原因でしょうか。
たとえば、オンライン ブランチには 2 つの提出物 1 と 2 があります
あなたのオフライン ブランチにも 2 つの提出物 1 と 3 があります
現時点では、オンライン ブランチをプルした後は、5 月 123 日になる可能性があります132 にすることもできます (リベースには Google Baidu を使用します)
オンライン ブランチが 12 で、プル後のオフライン ブランチが 132 の場合、競合が発生し、あなたの状況が発生します (最後にのみ追加できますが、
もう1つの状況は、amendを使用することです。このとき、オンラインとオフラインで送信しているように見えますが(コミットメッセージは同じです)、実際には異なります(コミットIDが変更されています)。 )、そのため、git は 2 つの送信の変更が重なって競合が発生したと判断します。
この問題を解決するには、push -f を使用して送信を強制する必要があります。注意深く検索して、このコマンドの機能をよく調べてください。いかなる結果についても責任を負いません。
修正案を提出したことがありますか?
git pull --rebase (エスケープ
)コードを git pull にプルした後、それをローカルの git rebase マスターとマージしてからプッシュする必要があります
まずステータスを確認します。 git status が赤の場合は、 git add . を実行します。警告がある場合は、 -A を強制し、 add の後に commit し、 commit してから pull してダウンロードします。 pull 後に競合がある場合は、解決します。最初に競合を解決し、次に追加からやり直し、最後にプッシュします。少なくともそれが私のやり方です。うまくやれば、失敗することはほとんどありません。 。
コードは既に git リモート リポジトリに送信されているため、直接送信することはできません。通常、git を送信する前にリモート リポジトリのコードをローカル リポジトリに同期する必要があります。送信する前にプル - -rebase