版本控制——如何检测git中手动解决的冲突



在我的git存储库中,有人通过选择自己的版本而不是主版本合并了一个文件。他还更改了提交描述,并删除了描述中的"Conflicts:"部分。是否有任何方法,我可以使用git log或其他git命令,以查看合并哪些提交是手动解决的,即使它们已从提交描述中删除?

请注意,我尝试在git diffgit log中使用-c选项,它没有显示变化。

我附上了一个粘贴bin,展示了如何复制这个:http://pastebin.com/rb75nR5J

您可以使用以下命令查看合并文件列表:
git log -U -m --simplify-merges --merges

这将打印出冲突解决过程中使用的补丁。
--merges将只打印合并提交(通常冲突将被解决并提交到合并提交中)

您还可以添加--first-parent来只显示来自当前分支的合并提交

您可以使用cat-file列出合并提交的双亲:

$ git cat-file -p 531a6db50cd71f872d7d68b9c9cf5f9bbd9f6847
tree a35f8705115ca5e05a9e19f90473b7fded4b51e8
parent eb37b8f9e3e72eb170d3f968b9bc5ddc79d2db3b
parent cc0407d3c016600253b41b01f1bc6d1a6237bd7e

最新更新