【发布时间】:2013-07-19 09:50:05
【问题描述】:
在 Windows 上使用 Git Extensions 时是否可以使用 Meld 作为合并工具?
【问题讨论】:
标签: git-extensions meld mergetool
在 Windows 上使用 Git Extensions 时是否可以使用 Meld 作为合并工具?
【问题讨论】:
标签: git-extensions meld mergetool
在 Git 扩展中:设置 -> Git 配置
Merge tool: meld
Path to mergetool: C:/Program Files (x86)/Meld/Meld.exe
Merge tool command: "C:/Program Files (x86)/Meld/Meld.exe" --diff "$BASE" "$LOCAL" "$REMOTE" --output "$MERGED"
【讨论】:
git mergetool 也不是如何启动 Meld。请参阅下面的答案,它使用 git 方式启动并正确保存。
--diff 标志,--output 参数似乎被忽略了。删除它会导致文件正确保存到$MERGED。 (正如其他 cmets 所建议的,这可能是 Meld 3.x 与 2.x 的问题?)
是的,回复this issue。
【讨论】:
像 Thomas 一样,接受的答案对我来说不太奏效。合并关闭后合并文件未保存。但是,托马斯的回答对我也不起作用。虽然文件确实保存了,但它在 Meld 中打开并带有合并的标记。
相反,我使用的是我一直在使用 Sourcetree 的命令行。这对我有用。
Mergetool command = </path/to/Meld.exe> \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output=\"$MERGED\" --auto-merge
【讨论】:
--auto-merge 最后是我缺少的部分
这个答案是正确的。另一个答案不会将合并结果/更改保存到您的实际工作区文件!
在 Git 扩展中:设置 -> Git 配置
Mergetool = meld (just type it in, don't use the combo)
Path to mergetool = </path/to/Meld.exe>
Mergetool command = </path/to/Meld.exe> \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output \"$MERGED\"
我一直在努力让 Meld 与 GitExtensions 合作,尝试以前的答案和相关帖子。
这是一个修改后的答案——我之前已经发布了命令行 'git mergetool' 的用法,但它没有提供与祖先的干净的 3 路合并;相反,中心窗格显示了冲突标记。
另请参阅我在 GitExtensions feature-request 讨论此问题的 GitHub 评论。
【讨论】: