当我输入时git diff,我想用我选择的视觉差异工具(Windows上的SourceGear"diffmerge")查看输出.如何配置git来执行此操作?
我正在尝试将WinMerge与Git集成,因为我之前在Windows 7旗舰版上看到过其他人.
我已经按照以下步骤操作,但是当我执行git mergetool时默认继续显示错误,默认为vimdiff.
在git的根目录中创建了一个名为winmerge.sh的文件:C/Program Files(x86)/ Git/with: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"
Run Code Online (Sandbox Code Playgroud)
并使用以下命令.
git config --global diff.tool winmerge
git config --global difftool.winmerge.cmd "winmerge.sh \"$LOCAL\" \"$REMOTE\""
git config --global difftool.prompt false
Run Code Online (Sandbox Code Playgroud)
错误显示为:
git config option merge.tool set to unknown tool: winmerge
Run Code Online (Sandbox Code Playgroud) 我刚开始和Git一起工作.我想使用TortoiseMerge作为difftool和mergetool.
在我的个人用户目录中的.gtconfig中,我有以下部分.我删除了此问题的用户和颜色部分.
[merge]
tool = tortoisemerge
[mergetool "tortoisemerge"]
cmd = \"TortoiseMerge.exe\" -base:\"$BASE\" -mine:\"$LOCAL\" -theirs:\"$REMOTE\" -merged:\"$MERGED\"
[diff]
tool = tortoisemerge
[difftool "tortoisemerge"]
cmd = \"TortoiseMerge.exe\" -base:\"$BASE\" -mine:\"$LOCAL\" -theirs:\"$REMOTE\" -merged:\"$MERGED\"
Run Code Online (Sandbox Code Playgroud)
如果我在Git Bash提示符下输入tortoisemerge它会加载.众所周知,它正在路上.但是,如果我输入命令,我会收到以下错误.
Rich:mygittest (master *)
$ git difftool
error: 'tortoisemerge' can only be used to resolve merges
merge tool candidates: kompare emerge vimdiff
No known merge resolution program available.
external diff died, stopping at readme.txt.
Rich:mygittest (master *)
$
Run Code Online (Sandbox Code Playgroud)
我不理解这项工作是什么?Tortoisemerge与TortoiseSVN一起安装.
git ×3
difftool ×2
diff ×1
diffmerge ×1
git-diff ×1
git-difftool ×1
mergetool ×1
tortoisegit ×1
winmerge ×1