Merging files in Sublime with Sublimerge via command line

白昼怎懂夜的黑 提交于 2019-11-30 12:24:09
Nickolay
 subl -n --wait "<LEFT>" "<RIGHT>" --command "sublimerge_diff_views {\"left_read_only\": true, \"right_read_only\": true}"

See "VCS Integration" for details.

As Nickolay already suggested, this is the whole directive you have to put in your ~/.gitconfig:

[merge]
    tool = sublimerge

[mergetool "sublimerge"]
    cmd = subl -n --wait \"$REMOTE\" \"$BASE\" \"$LOCAL\" \"$MERGED\" --command \"sublimerge_diff_views\"
    trustExitCode = false

[diff]
    tool = sublimerge

[difftool "sublimerge"]
    cmd = subl -n --wait \"$REMOTE\" \"$LOCAL\" --command \"sublimerge_diff_views {\\\"left_read_only\\\": true, \\\"right_read_only\\\": true}\"

Taking jnns' answer, but making appropriate changes for windows.

%USERPROFILE%\.gitconfig:

[merge]
    tool = sublimerge

[mergetool "sublimerge"]
    cmd = sublime_text -n --wait \"$REMOTE\" \"$BASE\" \"$LOCAL\" \"$MERGED\" --command \"sublimerge_diff_views\"
    trustExitCode = false

[diff]
    tool = sublimerge

[difftool "sublimerge"]
    cmd = sublime_text -n --wait \"$REMOTE\" \"$LOCAL\" --command \"sublimerge_diff_views {\\\"left_read_only\\\": true, \\\"right_read_only\\\": true}\"
  • note location of .gitconfig
  • in windows, the executable is sublime_text.exe, NOT subl
  • don't forget to add sublime text executable to the path

I'm not sure exactly how to do it, but I'm getting closer.

First, you need a handy path to the Sublime binary:

mkdir ~/bin
ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

Then, in your git GUI or git command line, configure ~/bin/subl as your merge tool.

I use Source Tree, and I haven't figured exactly how to best use Sublimerge, but I managed to open both versions, merge them, and then I have to do a bit of manual work.

Still not smooth, but better than nothing!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!