在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
来查看BASE
和THIS
之间的区别。第三阶段是你的OTHER
版本。您也可以使用git mergetool foo.html
或git 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 ......