私は2つの枝を持っています、
A-C (master)
\
B-D (clean)
で、A..C
一連のファイルを含むディレクトリを追加しました。このディレクトリに変更が表示されないA..B
ように、まったく同じディレクトリとファイルを追加しました。で、これらのファイルに変更を加えましたgit diff C..B
。B..D
これらの変更を にマージしたいと思いmaster
ます。私は2つの異なるアプローチを試しました.1つはきれいに機能し、もう1つは非常にひどく壊れました:
git merge clean
上記のコマンドは、実際にはすべてのファイルで大量の競合を引き起こします。
git merge clean^
git merge clean
上記は完全に機能し、再帰的にマージされ、競合はまったくありません。
上記はどのように、そしてなぜ起こるのですか?Git は履歴を見て、それが初期の分割であったと判断できませんか? それとも、合併戦略として使用するには負担が大きすぎるのでしょうか?