これは簡単な質問ですが、gitはラベルと混同しており、答えを見つけることができませんでした。
ローカルに変更があり、最新のリモートリポジトリをローカルリポジトリにマージしたい場合は、ローカルコミットを実行してからgit pullを実行します。
マージの競合が表示されたら、MERGE_HEADを使用して競合を解決し、HEADを使用して競合を解決するオプションがあります
リモートリポジトリとローカルリポジトリのどちらですか。
ありがとうございました
それらは両方ローカルです(これは重要ですが、あまり役に立ちません:-))。
HEAD
は現在のブランチであり、これは今チェックアウトしたブランチを意味します。 git merge
の場合、これは開始時にチェックアウトしたものです。
MERGE_HEAD
はその他のコミットです。これはGitにマージするように指示したコミットのハッシュIDを意味します。つまり、git merge Origin/master
はOrigin/master
をローカルコミットハッシュIDに解決してから、そのコミットをマージし、MERGE_HEAD
にはそのコミットのハッシュIDが含まれます。
他のコミットのより良い用語はotherまたは--theirs
であり、Gitはこれらの用語を使用することがありますが、Gitの他のビットはremoteという用語を使用します--theirs
コミットを参照してください。
私は同じ問題を探している間にこのスレッドに出くわしました。 TortoiseGitのマージツールとしてWinMergeを使用していますが、競合を解決すると3つのペインが表示されます:MERGE_HEAD
は左側、Base
は中央、HEAD
は右側です。
MERGE_HEAD
はマージしようとしているコミット/ブランチ、HEAD
はマージしようとしているコミット/ブランチ、Base
は解決するために編集する必要があるマージ結果です紛争。
したがって、中央のペインのコードBase
を編集して保存し、コミットする必要があります。