競合を解決し、変更をステージングしてからgit diffを実行すると、「ours」と「theirs」の2つの+と-の列が表示されます。リポジトリのgit履歴にマージコミットがある場合、他の誰かが行った解決策をどのように確認できますか?他の例では、以前に(gitkで)見たことがありますが、私が持っているこのSHA1については、それを判別できないようです。
参照がわかっている場合、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.
わずかなバイクシェッド:diff3またはkdiff3を使用して、マージを逆に表示できます。特に、競合を解決するために2番目の変更が導入された(gitスタイル)「悪」のマージの場合はそうです。 (爆発するヘッドがどのように変更を「バックアウト」するかを確認しようとしていることに注意してください;-)
明らかに、「ベース」コミットはマージされたコミットになります。