我正在尝试将 WinMerge 与 Git 集成,就像我之前在 Windows 7 Ultimate 上看到其他人所做的那样。
我已按照以下步骤操作,但是当我执行默认为 vimdiff 的 git mergetool 时,错误继续出现。
在 git 的根目录:C/Program Files (x86)/Git/ 中创建了一个名为 winmerge.sh 的文件,其中:WinMergeU 是正确的位置。
#!/bin/sh
echo Launching WinMergeU.exe: $1 $2
"C:/Program Files (x86)/WinMerge/WinMergeU.exe"
git /e /u /dl "Base" /dr "Mine" "$1" "$2"
并使用以下命令。
git config --global diff.tool winmerge
git config --global difftool.winmerge.cmd "winmerge.sh \"$LOCAL\" \"$REMOTE\""
git config --global difftool.prompt false
错误显示为:
git config option merge.tool set to unknown tool: winmerge
你正在谈论合并工具,但是您(以及其他一些有答案的人)正在将其配置为差异工具.
要配置合并工具,您需要使用merge.tool
and mergetool
配置而不是diff.tool
and difftool
, 像这样:
git config --global merge.tool winmerge
git config --replace --global mergetool.winmerge.cmd "\"C:\Program Files (x86)\WinMerge\WinMergeU.exe\" -e -u -dl \"Base\" -dr \"Mine\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\""
git config --global mergetool.prompt false
然后你可以使用
git mergetool
这将打开您要编辑的两个文件。
感谢 @dvdvck 在评论中提到命令行参数 http://manual.winmerge.org/Command_line.html您可以为 winmerge 的结果文件指定第三个文件(outputpath 参数)。
为了完整起见,我会提到还有这个要点 https://gist.github.com/shawndumas/6158524旨在完整配置 winmerge 作为 diff 和 merge 工具。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)