Sar*_*den 4 diffmerge atlassian-sourcetree
最近,我重新安装了macOS。我已经安装了Sourctree和diffmerge并将diffmerge设置为默认合并工具。出于某种原因,每次我选择“解决冲突->打开外部合并工具”时,sourcetree都会打开其等待视图并直接将其关闭。
我在sourcetree中的设置页面:
这是当sourcetree为我配置diff合并时我的根.gitconfig的样子:
[core]
excludesfile = /Users/[username]/.gitignore_global
[user]
name = ---- -----
email = -----@-----.--
[commit]
template = /Users/[username]/.stCommitMsg
[credential]
helper = !/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/bin/java -Ddebug=false -Djava.net.useSystemProxies=true -jar /usr/local/Cellar/git-credential-manager/2.0.4/libexec/git-credential-manager-2.0.4.jar
[difftool "DiffMerge"]
[mergetool "DiffMerge"]
[diff]
tool = diffmerge
[difftool "diffmerge"]
cmd = /usr/local/bin/diffmerge \"$LOCAL\" \"$REMOTE\"
[merge]
tool = diffmerge
[mergetool "diffmerge"]
trustExitCode = true
cmd = /usr/local/bin/diffmerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
[difftool "sourcetree"]
cmd = /Applications/DiffMerge.app/Contents/MacOS/DiffMerge/Contents/MacOS/DiffMerge --nosplash \"$LOCAL\" \"$REMOTE\"
path =
[mergetool "sourcetree"]
cmd = /Applications/DiffMerge.app/Contents/MacOS/DiffMerge/Contents/MacOS/DiffMerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
trustExitCode = true
Run Code Online (Sandbox Code Playgroud)
Sar*_*den 10
这是通过pkg install而非安装程序安装diffmerge时发生的。这显然并没有将bash配置为知道该命令,diffmerge因此您必须设置diffmerge的路径(或更新bin配置)。
为了解决这个问题,我手动配置了Visual Diff工具和合并工具(这样做的好处是您可以在每次启动时禁用该烦人的启动屏幕)。
SourceTree中的“设置”页面
差异
命令:/usr/local/bin/diffmerge
参数--nosplash "$LOCAL" "$REMOTE"
合并
命令:/usr/local/bin/diffmerge
参数--nosplash --merge --result="$MERGED" "$LOCAL" "$BASE" "$REMOTE"
--nosplash参数是可选的,但可以防止在我开始工作之前总是必须关闭的(我认为无用)弹出窗口。
Git配置文件:
[core]
excludesfile = /Users/[username]/.gitignore_global
[user]
name = ---------
email = ---------@------.--
[commit]
template = /Users/[username]/.stCommitMsg
[credential]
helper = !/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/bin/java -Ddebug=false -Djava.net.useSystemProxies=true -jar /usr/local/Cellar/git-credential-manager/2.0.4/libexec/git-credential-manager-2.0.4.jar
[difftool "DiffMerge"]
[mergetool "DiffMerge"]
[diff]
tool = diffmerge
[difftool "diffmerge"]
cmd = /usr/local/bin/diffmerge \"$LOCAL\" \"$REMOTE\"
[merge]
tool = diffmerge
[mergetool "diffmerge"]
trustExitCode = true
cmd = /usr/local/bin/diffmerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
[difftool "sourcetree"]
cmd = /usr/local/bin/diffmerge --nosplash \"$LOCAL\" \"$REMOTE\"
path =
[mergetool "sourcetree"]
cmd = /usr/local/bin/diffmerge --nosplash --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
trustExitCode = true
Run Code Online (Sandbox Code Playgroud)
有关diffmerge命令行参数的更多信息:
差异:https : //sourcegear.com/diffmerge/webhelp/sec__clargs__diff.html
合并:https://sourcegear.com/diffmerge/webhelp/sec__clargs__merge.html
| 归档时间: |
|
| 查看次数: |
1282 次 |
| 最近记录: |