web-dev-qa-db-ja.com

Git競合マーカー

リモートブランチから引っ張った後、ファイルを開いたときに以下のようになりました。

<<<<<<< HEAD:file.txt
Hello world
=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

マーカーの説明が必要です。コードのどの部分がリモートから取得され、どの部分がローカルから取得されますか。

77976da35a11db4580b80ae27e8d65caf5208086というコードは何の略ですか?

338
Mellon

ここで<<<<<<<======で始まる行の間の行

<<<<<<< HEAD:file.txt
Hello world
=======

HEADは現在のブランチまたはコミットを指しているので、あなたはそれを知ることができます。 =======>>>>>>>で始まる行の間の行

=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

...は他の(pullされた)コミット、この場合は77976da35a11によって導入されたものです。それがHEADにマージされたコミットのオブジェクト名(または "hash"、 "SHA1sum"など)です。コミット(バージョン)、BLOB(ファイル)、ツリー(ディレクトリ)、タグのいずれであろうと、git内のすべてのオブジェクトはそのようなオブジェクト名を持ちます。

559
Mark Longair