seb*_*aan 52 git settings winmerge git-extensions
我正在使用Git Extensions,它预先安装并设置KDiff作为解决合并冲突的diff工具.我非常喜欢Winmerge,并希望用Winmerge取代KDiff.
在Git Extensions设置中,有一些设置可以更改Mergetool,但我似乎无法弄清楚我应该使用什么语法以及为什么.似乎有4个变量:$ BASE,$ LOCAL,$ REMOTE,$ MERGED.看来我应该将这些传递给WinMergeU.exe,但是哪个命令行参数?
我曾尝试过几次搜索,但实际上似乎没有答案.
fox*_*ulu 51
概述
以下是有关如何设置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"
Run Code Online (Sandbox Code Playgroud)
转到"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\"
Run Code Online (Sandbox Code Playgroud)
运行"GitExtensions",转到"tools-> Settings-> Git Extensions-> Git Config".如果您已正确完成安装并将工具引用到其目录,则全局设置页面应如下所示(注意:请在名称和电子邮件中填写您的姓名):
mergetool:mergetool的winmerge
路径:c:/Program Files (x86)/winmerge/winmergeu.exe
mergetool命令:wMerge.sh "$MERGED" "$REMOTE"
difftool:winmerge
path到difftool:c:/Program Files (x86)/winmerge/winmergeu.exe
difftool命令:"c:/Program Files (x86)/winmerge/winmergeu.exe" "$LOCAL" "$REMOTE"
行结尾:按原样结帐,按原样提交
导航到核对表选项卡以验证GIT是否全部为"绿色"并对您的设置满意.
Cri*_*scu 22
在Git Extensions v2.47.3上,设置它很容易:
设置 - >全局设置 - >在'Mergetool'下拉菜单中手动编写:WinMerge
并观察奇迹.
"Difftool"下拉菜单也是如此.
|| || ||
\/ \/ \/
Run Code Online (Sandbox Code Playgroud)
愚蠢的是,'WinMerge'选项未在下拉列表中预先填充.那好吧.
Tim*_*Dog 10
在Windows 7上,这最终对我有用.请注意"'c:/path/here'"
我的程序文件路径周围的引号.
[merge]
tool = winmerge
[mergetool "winmerge"]
cmd = "'C:/Program Files (x86)/WinMerge/WinMergeU.exe'" -e "$MERGED"
[diff]
tool = winmerge
[difftool "winmerge"]
cmd = "'C:/Program Files (x86)/WinMerge/WinMergeU.exe'" -e "$LOCAL" "$REMOTE" -dl "Local" -dr
Run Code Online (Sandbox Code Playgroud)
@ sebastiaan的回答对我不起作用(也许它已经过时了?)
这些是使用GitExtensions 2.28为我工作的"全局设置":
Mergetool:winmerge
mergetool的路径:D:/path/to/WinMerge/WinMergeU.exe
Mergetool命令:"D:/path/to/WinMerge/WinMergeU.exe" -e "$MERGED"
这会导致WinMerge使用git生成的"冲突文件".
-e
允许按ESC关闭winmerge.
Difftool:difftool的winmerge
路径:D:/path/to/WinMerge/WinMergeU.exe
Difftool命令:"D:/path/to/WinMerge/WinMergeU.exe" -e "$LOCAL" "$REMOTE" -dl "Local" -dr "Remote"
-dl
并-dr
设置左窗格和右窗格的描述.
归档时间: |
|
查看次数: |
32113 次 |
最近记录: |