git - 如何将 Winmerge 与 Git 扩展一起使用?

标签 git settings winmerge git-extensions

我正在使用 Git Extensions它预装并设置了 KDiff 作为 diff 工具来解决 merge 冲突。不过,我非常喜欢 Winmerge,并且想用 Winmerge 替换 KDiff。

在 Git Extensions 设置中,有更改 Mergetool 的设置,但我似乎无法弄清楚我应该使用什么语法以及为什么。似乎有 4 个变量:$BASE、$LOCAL、$REMOTE、$MERGED。看来我应该将这些传递给 WinMergeU.exe,但是使用哪些命令行参数?

我已尝试搜索此内容几次,但似乎没有真正有效的答案。

最佳答案

概览
以下是有关如何设置 GIT 版本控制的说明,以便您可以使用比默认安装更好的工具集。该设置要求已安装 GIT 扩展并涉及在 GIT 扩展中配置 Winmerge。

安装
完成所有提示并在 Winmerge 的默认目录中安装。

在 GIT 版本控制中配置 Winmerge
在文本编辑器中打开一个新文档。 复制/粘贴以下内容并将文档作为“wMerge.sh”保存到“C:\Program Files (x86)\Git\bin\”目录。

echo Launching WinMerge: $1 $2 "C:/Program Files (x86)/WinMerge/WinMergeU.exe" -e -u -dl "Original" -dr "Modified" "$1" "$2"

转到“Users->username”目录并找到 .gitconfig 文件。在您喜欢的编辑器中打开它,复制/粘贴以下代码并保存:

[user]
    name = enter your name
    email = youremail@yourdomain.com
[core]
    autocrlf = false
[merge]
    tool = winmerge
[mergetool "winmerge"]
    cmd = wMerge.sh \"$MERGED\" \"$REMOTE\"
    path = c:/Program Files (x86)/winmerge/winmergeu.exe
[mergetool]
    keepBackup = false
    trustExitCode = false
[diff]
    guitool = winmerge
[difftool "winmerge"]
    path = c:/Program Files (x86)/winmerge/winmergeu.exe
    cmd = \"c:/Program Files (x86)/winmerge/winmergeu.exe\" \"$LOCAL\" \"$REMOTE\"

运行“GitExtensions”,转到“工具->设置->Git 扩展->Git 配置”。如果您已正确完成安装并将工具引用到其目录,则您的全局设置页面应如下所示(注意:请在姓名和电子邮件中填写您的姓名):

merge 工具:winmerge
merge 工具的路径:c:/Program Files (x86)/winmerge/winmergeu.exe
merge 工具命令:wMerge.sh "$MERGED""$REMOTE"
差异工具:winmerge
difftool 的路径:c:/Program Files (x86)/winmerge/winmergeu.exe
difftool 命令:"c:/Program Files (x86)/winmerge/winmergeu.exe""$LOCAL""$REMOTE"

行尾:按原样 checkout ,按原样提交

导航到 list 选项卡以验证 GIT 是否全部“绿色”并且对您的设置感到满意。

关于git - 如何将 Winmerge 与 Git 扩展一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2468230/

相关文章:

java - 从 Git Bash 运行 Maven 目标失败

python - 可以通过 Python 代码提取 git repo 修订散列吗?

visual-studio - 如何在TableAdapter配置向导的SQL语句中使用等宽字体?

comments - WinMerge:如何忽略注释

WinMerge - 有没有办法排列移位/移动的代码块?

python - 比较两个文件并将报告保存在任何其他文件中

git - 搜索 git reflog

ruby-on-rails - 如何用 git 组织 50 个相关的 Rails 应用程序?

html - 如何使用多色主题设置做 HTML 模板?

android - 应用程序如何知道设备已经安装了该应用程序并将其从推荐奖金中消除?