我正在Windows机器上使用msys Git 作为源代码控制工具,并尝试找出如何让我的合并工具WinMerge与Git一起使用。
我尽最大努力按照这篇博客中的说明进行操作,因为这是我找到的与我的操作最接近的。基本上,我所做的就是:
修改我的.gitconfig
文件,加入以下内容:
[merge] tool = winmerge [mergetool "winmerge"] cmd = \"C:\\Program Files (x86)\\WinMerge\\WinMergeU.exe\" "$PWD/$LOCAL" "$PWD/$REMOTE" "$PWD/$MERGED" trustExitCode = false keepBackup = false
这个方法几乎可以正常工作。当我尝试从Git运行合并工具时,WinMerge会给我一个错误,说它找不到文件路径,这是完全有道理的,因为它要查找的路径是:
C:\MY\WORKING\DIRECTORY\-e C:\MY\WORKING\DIRECTORY\-ub
看起来Git将选项传递到合并工具中,而不是我期望的本地和远程文件名。
我在网上搜索了Git合并的文档,但似乎找不到任何与我正在尝试做的相关的信息。我的猜测是解决方案可能是以下之一:
- 更改
$LOCAL
和$REMOTE
变量的值,假设$LOCAL
和$REMOTE
是不正确的。 - 编写一个
.bat
脚本来调用WinMergeU,并在我的.bat
脚本逻辑中处理Git发送到合并工具的参数。
conflictfile指定冲突文件,通常由版本控制系统生成。冲突文件在文件比较窗口中打开,您可以合并和解决冲突,如解决冲突文件中所述。请注意,冲突文件不能与其他路径一起使用。
(引用可能有点糟糕)也许你不需要使用最新版本,只需指定一个文件即可。 - Darren Bishop