How do you see / show a git merge conflict resolution that was done, given a merge commit SHA1?

本秂侑毒 提交于 2019-11-30 04:32:10
micromoses

If you know the ref, then git show <MERGE_COMMIT> will show you the resolution done (if any) for the merge commit.

For log, use git log -p -c or git log -p --cc. From the manpage of 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.

Slight bikeshed: you could use diff3 or kdiff3 to see the merge in reverse, particularly if it was a (git style) 'evil' merge, where a secondary change was introduced to resolve the conflict. (watch out for an exploding head trying to see how it 'backs out' the changes;-)

Obviously the 'base' commit would be the merged commit.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!