我试图configurationDiffMerge git用于difftool和mergetool。 我用了下面的命令:
命令提示符窗口中的以下命令将更新您的.gitconfig以configurationGIT使用DiffMerge:
C:\> git config --global diff.tool diffmerge C:\> git config --global difftool.diffmerge.cmd "C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe \"$LOCAL\" \"$REMOTE\""`
如果我检查.gitconfig的内容,它有以下内容:
` [diff] tool = diffmerge [mergetool "diffmerge"] cmd = C:/Program\\ Files/SourceGear/Common/DiffMerge/sgdm.exe -merge -result=\"\" \"\" \"\" \"\" trustExitCode = true [merge] tool = diffmerge [difftool "diffmerge"] cmd = C:/Program\\ Files/SourceGear/Common/DiffMerge/sgdm.exe \"\" \"\" [core] autocrlf = true excludesfile = C:\\Users\\dev\\Documents\\gitignore_global.txt [user] name = DESKTOP - VAFJEG6\\dev email = madsum.isalm2@gmail.com `
如果我尝试$ git config –global –list: –
diff.tool=diffmerge mergetool.diffmerge.cmd=C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe -merge -result="" "" "" "" mergetool.diffmerge.trustexitcode=true merge.tool=diffmerge difftool.diffmerge.cmd=C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe "" "" core.autocrlf=true core.excludesfile=C:\Users\dev\Documents\gitignore_global.txt user.name=DESKTOP-VAFJEG6\dev user.email=madsum.isalm2@gmail.com`
如果我尝试git $ git difftool,它显示了这个对话框: –
哪里不对? 如何正确configuration?
文档中提到的$LOCAL
/ $REMOTE
必须由shell解释(如果从git bash
而不是CMD会话中输入)并替换为""
。
直接编辑全局配置( git config --global --edit
)并添加缺少的元素来获取:
[difftool "DiffMerge"] cmd = 'C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' "$LOCAL" "$REMOTE" [merge] tool = DiffMerge [mergetool "DiffMerge"] cmd = 'C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' -merge -result="$PWD/$MERGED" "$PWD/$LOCAL" "$PWD/$BASE" "$PWD/$REMOTE" trustExitCode = true