web-dev-qa-db-ja.com

1つのブランチを別のブランチにマージするGitは、双方向のマージですか?

私のgitリポジトリは次のようになります。

         _ branch_a
        /
master /
        \_ branch_b

今、私はbranch_bをbranch_aにマージしますnotどちらかのブランチをmasterにマージします。

だから、私はやった

git checkout branch_a
git merge branch_b

そしてgitはいくつかの競合を見つけました。

私がする時 git mergetoolmeldを使用すると、コンソールに表示されるのは

 {local}: modified file
 {remote}: modified file

そして、ローカルとリモートのみを表示するウィンドウ。

私が知りたいのは:

  1. マスターにあったものの共有ベースが表示されないのはなぜですか?

  2. LOCALとREMOTEのうち、どちらを編集するのですか?

35
EMiller

ブランチAをブランチBにマージすると、マスターとの違いからではなく、両方のブランチの違いから生じる競合が発生します。実行git diffはAまたはBの祖先であるため、mastereとの差分を提供します

通常、localブランチはmerging intoであり、remotemergeです。とにかくお使いのコンピューターでは、ファイルのコピーは1つだけなので、変更するだけです

11
iberbeu