在bazaar中,如果foo.html中有冲突,它将生成另外3个文件

foo.html.BASE
foo.html.OTHER
foo.html.THIS

那你就可以
diff -Naur foo.html.BASE foo.html.OTHER

将公共基础与其他一组更改进行比较确实很有帮助,因为它可以告诉您它们究竟更改了什么,这有助于回答它们为什么这样做。例如,如果所有更改都是空白,则可以自信地使用自己的更改。
我如何在git中实现这一点?

最佳答案

git不会在工作目录中存储三个文件的实际完整副本版本。相反,它存储一个文件,其中放置了冲突标记。但是,您仍然可以使用:<stage>:<filename>语法(to git工具)来获得这些版本,这些文件实际上不存在,因此,例如“常态diff不会看到它们”。例如,您可以运行git diff :1:foo.html :2:foo.html来查看BASETHIS之间的区别。第三阶段是你的OTHER版本。您也可以使用git mergetool foo.htmlgit difftool foo.html。如果您真的需要对它们使用非-git工具,可以执行以下操作:

git show :1:foo.html > foo.html.BASE
git show :2:foo.html > foo.html.THIS
git show :3:foo.html > foo.html.OTHER
diff ......

07-28 02:21
查看更多