我正在尝试找到一个更好的合并文件选项,并希望尝试Sublime,因为我的工作是使用它完成的。所以我安装了Sublimerge,现在卡住了。我知道我可以比较两个已打开的文件或通过补充工具栏进行比较,但我想要做的是通过命令行将其关闭,这样我就可以从我的源代码控制程序中启动它,就像我可以使用其他所有合并工具一样看到。有没有人知道这样做的命令行格式?
N.B。 - 我早已放弃尝试使用sublime来处理合并,而是转而使用其他工具来处理这个问题。因此,我从来没有觉得我能接受任何答案,因为我没有检查它们是否按照我想要的方式工作,或者确实是否能够工作。
答案 0 :(得分:5)
subl -n --wait "<LEFT>" "<RIGHT>" --command "sublimerge_diff_views {\"left_read_only\": true, \"right_read_only\": true}"
有关详细信息,请参阅"VCS Integration"。
答案 1 :(得分:5)
正如Nickolay已经建议的那样,这是您必须在~/.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}\"
答案 2 :(得分:4)
采取jnns&#39;回答,但对窗口做了适当的更改。
%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}\"
.gitconfig
sublime_text.exe
,而非subl
答案 3 :(得分:1)
我不确定该怎么做,但我越来越近了。
首先,您需要一个方便的Sublime二进制路径:
mkdir ~/bin
ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
然后,在你的git GUI或git命令行中,配置〜/ bin / subl作为你的合并工具。
我使用的是Source Tree,我还没有弄清楚如何最好地使用Sublimerge,但我设法打开两个版本,合并它们,然后我必须做一些手动工作。
仍然不顺利,但总比没有好!