2017-06-07 12 views
0

これは簡単な質問です。答えを見つけようとする前に考えていたので、誰かがこれを私に説明してください。Git Merge Resolutionバージョン説明

リモートからフェッチして変更をマージすると、競合が発生したときにそのことが通知され、ファイルにマージの解決が必要であることが通知されます。 (これはGitのGUIにあります)

私は矛盾しているファイルを知っています。私はマージの前に作業したコピーを私が望むものにしたいと思います。そしてそれらを次のように見ることができます。

<<<<<<< HEAD 
+ Code that I have added 
    ======= 
+ Code that I replaced 
>>>>>>> origin/master 

私は右クリックしたときに私が持っている問題は、私はオプションを取得することです:

  • 私が知りたいのは何を使用するリモートバージョン
  • 使用ローカルバージョン

されますどの方向に<または>の方向が適用されます。私がいくつかの変更を隠してフェッチをした後、変更をポップしたところで、私の隠された変更は、ローカルバージョンではなくリモートバージョンになりました。そして、基本的に私の頭を揺さぶっているだけで、角括弧のどの方向にどのオプションが当てはまるかを知るためのベビーシートが必要です。

答えて

0

HEADとorigin/masterがあなたの質問に答えます。

(< < < < <後の)コードの最初のブロックは、(最新のローカルブランチにコミット)HEADに関係します。 2番目のコードブロックは、リモートブランチに関係します。

角カッコは、コードが関連するコミットを常に示します。

+0

<<<<<<セクションは常にローカルですが、>>>>>は常にリモートですか? ラベルがいつもきれいにカットされていない瞬間がありました – Struthious

+0

私が知る限り、それは必ずしもそうではありません。それぞれのコミットを常にチェックして、どのコードがどこにあるかを確認する必要があります。コミットはハッシュですが、これらをあなたが望むブランチの 'git log'と比較することができます。 – Serge

+0

あなたの指示は、私が今見ているものに確実に反映されています。ありがとう – Struthious