您需要查看KDiff3 文档,特别是关于合并和输出窗口的部分。要解决冲突,您需要确定线路的选择live
是否january
正确。这个决定是你做出的,没有工具可以知道你的意思是一个还是另一个。
在 KDiff3 中,您按Ctrl+2选择live
,按Ctrl+3选择january
或右键单击底部窗口的边缘并选择您想要的行。您也可以单击底部窗口并手动编辑该行。
Mercurial 让您以任何您喜欢的方式配置您的合并工具。TortoiseHg 附带一个默认配置,将 KDiff3 放在列表顶部,但如果您愿意,可以使用其他工具。合并工具实际上只是一个接受四个文件名的程序:要比较的三个文件(基文件、父文件 1、父文件 2)和输出文件名。
要解决命令行上的冲突,您需要启动合适的命令行三向合并工具。例如,如果您愿意,可以与 vim 合并。(恐怕我对vimdiff一无所知,我自己使用KDiff3。)
如果您不喜欢看到合并工具弹出,那么您可以设置
[ui]
merge = internal:merge
使 Mercurial 仅使用内部三向合并。当编辑没有冲突时,它将很好地合并文件。当存在冲突时,文件被标记为“未解决”并且冲突标记被存储在文件中。
然后,您需要手动编辑文件以获得所需的版本。您还可以重新合并并选择本地(您的)版本:
$ hg resolve --tool internal:local your-file
或其他版本:
$ hg resolve --tool internal:other your-file
您使用 完全重新启动合并hg resolve your-file
。在提交之前,该文件需要标记为“已解决”。这是用hg resolve --mark your-file
. 查看hg resolve --list
当前合并的状态。