我通过以下设置将其作为差异工具:
Diff命令:C:\Program Files (x86)\ExamDiff Pro\ExamDiff.exe
参数:$LOCAL $REMOTE
如果我为合并设置设置了类似的内容:
Diff命令:C:\Program Files (x86)\ExamDiff Pro\ExamDiff.exe
参数:/merge $REMOTE $BASE $LOCAL
我得到一个ExamDiff控制台窗口,有点像信息窗口,但不是预期的GUI。
如果我手动构造合并命令并在命令行运行它,它没有问题,所以我认为它必须是SourceTree正在做的事情。
如果有人能够提供帮助,我们将不胜感激!
答案 0 :(得分:2)
我在这里找到了一个关于ExamDiff Pro的一般用法的网页: http://www.prestosoft.com/edp_versioncontrol.asp
从那以后我就有了尝试这个的想法:
Diff命令:C:/Program Files/ExamDiff Pro/ExamDiff.exe
参数://merge $REMOTE $BASE $LOCAL //o:$MERGED //dn1:Theirs //dn2:Base //dn3:Yours //dno:Output //nh
//nh
代表无历史记录,并使ExamDiff不会将repo路径存储在其差异历史记录中。同样可以添加到diff命令的参数中。
为我工作,希望它适合你。干杯
PS:注意 merge 命令前面有双斜线
答案 1 :(得分:0)
托马斯给出的答案对我来说只是部分有效。它对子目录中的文件没有用处。添加"行情"围绕文件名,在阅读了页面http://www.prestosoft.com/edp_versioncontrol.asp后,我提出了:
差异命令: C:/Program Files/ExamDiff Pro/ExamDiff.exe
(与托马斯'版本相同)
<强>参数:强>
-merge "$REMOTE" "$BASE" "$LOCAL" -o:"$MERGED" -dn1:Theirs -dn2:Base -dn3:Yours -nh
是的,您可以使用-option
代替/option
使用ExamDiff,这在使用Unix样式文件路径时非常有用。
顺便说一句:如果你想在命令行上使用 ExamDiff作为git diff- / mergetool ,这是我的配置让这个工作:(上页给出的配置不起作用!)
在Git Bash窗口中,输入以下命令:
git config --global diff.tool edp
git config --global difftool.edp.cmd '"C:/Program Files/ExamDiff Pro/ExamDiff.exe" "$REMOTE" "$LOCAL" -nh'
git config --global difftool.prompt false
git config --global merge.tool edp
git config --global mergetool.edp.cmd '"C:/Program Files/ExamDiff Pro/ExamDiff.exe" -merge "$REMOTE" "$BASE" "$LOCAL" -o:"$MERGED" -dn1:Theirs -dn2:Base -dn3:Yours -nh'
git config --global mergetool.edp.trustExitCode false
git config --global mergetool.prompt false
git config --global mergetool.keepBackup false
提示:您可能需要调整ExamDiff.exe的路径。
这对我有用(SourceTree 1.6.22.0与外部git 2.6.1 64位,在Windows 8.1 Pro 64位上的ExamDiff Pro 6.0.3.12 64位)
答案 2 :(得分:0)
启动git 2。9(2016年6月),你不必再做那些
了git config --global merge.tool examdiff
git mergetool --tool=examdiff
commit 35d62bb见commit e36d716,Jacob Nisnevich (jacobnisnevich
)(2016年3月25日)
(由Junio C Hamano -- gitster
--合并于commit 34e859d,2016年4月13日)
“
git mergetools
”学会驾驶ExamDiff。
mergetools
:添加对ExamDiff的支持
答案 3 :(得分:0)
我遇到的情况是,使用ExamDiff Pro可以使GIT感到很高兴,但Sourcetree却不是。
首先,我遵循http://www.prestosoft.com/edp_versioncontrol.asp#git
上的建议(已经提到过)经过大量调查,看来Sourcetree在以下位置未使用全局git config:
C:\Users\myusername\.gitconfig
,但在使用了其他文件
C:\Users\myusername\AppData\Local\Atlassian\SourceTree\git_local\etc\gitconfig
这是非常违反直觉的,因为从Sourcetree打开一个终端并从命令行运行git时,它将使用第一个配置文件,但是右键单击并选择“ External Diff”,它将使用第二个配置文件。
我通过将设置从第一个文件复制到第二个文件来解决此问题,现在终端和右键单击的行为完全相同。
无论如何,我希望能对某人有所帮助。