競合を解決し、変更をステージングしてからgit diffを実行すると、+と-の2つの列が表示されます。1つは「ours」用、もう1つは「theirs」用です。リポジトリのgit履歴にマージコミットがある場合、他の誰かによって行われたその解決をどのように確認できますか?他の例では、私は以前にそれを見たことがありますが(gitkで、私は思います)、私が持っているこのSHA1ではそれを判断できないようです。
質問する
18062 次
3 に答える
54
ref がわかっている場合git show <MERGE_COMMIT>
は、マージ コミットに対して行われた解決策 (ある場合) が表示されます。
ログには、git log -p -c
またはを使用しますgit log -p --cc
。git log のマンページから:
-c
With this option, diff output for a merge commit shows the differences from each
of the parents to the merge result simultaneously instead of showing pairwise
diff between a parent and the result one at a time. Furthermore, it lists only
files which were modified from all parents.
--cc
This flag implies the -c option and further compresses the patch output by
omitting uninteresting hunks whose contents in the parents have only two
variants and the merge result picks one of them without modification.
于 2013-10-29T10:30:48.970 に答える
0
わずかなバイクシェッド:diff3またはkdiff3を使用して、マージを逆に表示できます。特に、競合を解決するために2番目の変更が導入された(gitスタイル)「悪」のマージの場合はそうです。(爆発するヘッドがどのように変更を「バックアウト」するかを確認しようとしていることに注意してください;-)
明らかに、「ベース」コミットはマージされたコミットになります。
于 2013-03-07T17:54:38.670 に答える