1、通用设置建议为了设置 Git 使其能正确合并,我们先开奘疚豫枭始做一些简单的配置。1. 设置建议当遇到冲突时,可以在命令行或者其他可视化工具中输入“git mergetool”来初始化合并活动。在“.gitconfig”中用“merge.tool”变量来设置 Git 中自己喜欢的冲突解决软件,比如用KDiff3的可能会这样填写”.gitconfig” 的merge部分:
2、 在冲突标记中显示(分支)共同的祖先用下面的设置来改进冲突标记使其也显示(分支)共同祖先(感谢罗宾·斯托克和休·吉登斯):
3、合并时使用“耐心”算法如果文件内容很长(比如一个XML文件)、冲突很多或者两个版本很不一致时,试着用下面的命令再次合并:
4、当你需要单个文件的历史信息时除非使用像SourceTree一样的可视化工具来弄清到底对一个文件做过什么,不然你可以使用:
5、处理过程示例有几个同事分享了他们手动处理的过程,比如詹森·欣奇描述了他的处理流程:从手头的合并开始:
6、IntelliJ IDEA 冲突解决工具Intell坡纠课柩iJ IDEA 是很多Atlassian 工作人员使用的 IDE 。很多人使用它内建的冲突解决工具来处理冲突,它提供了三个面板来分析:本地、远程和合并结果:
7、KDiff3KDiff3是 KDE 产品系列的一部分,并且在我们内部调查时提到过几次
8、P4MergeSourceTree的作者斯蒂夫·斯特里廷和其他几个同事使用P4Merge 来执行合并操作。P4Merge是屙钯崽宴免费的可视化工具,它具有四个面板而不是其他工具提供的三个,显示了”base“、”local“、”remote“和”merge result“。
9、meldmeld是用 GTK+ 和 Python 开发的,也是已经存在了很久的工具,被提到了几次。
10、tig for status + diff更多喜欢终端的人使用tig(我们之前写过tig的一篇介绍),再加上 “ git diff ”。
11、OS X 下的 FileMerge 即 opendiff在长长的建议列表里,有几个开发者提到了 OS X 下原生的“opendiff”工具,或者叫做“FileMerge”。
12、diffmerge我并不知道diffmerge这个工具,不过在列表里也被提到了。