通过命令行将Sublime中的文件与Sublimerge合并

时间:2013-10-10 13:26:49

标签: merge sublimetext2 sublimetext3 sublimetext sublime-text-plugin

我正在尝试找到一个更好的合并文件选项,并希望尝试Sublime,因为我的工作是使用它完成的。所以我安装了Sublimerge,现在卡住了。我知道我可以比较两个已打开的文件或通过补充工具栏进行比较,但我想要做的是通过命令行将其关闭,这样我就可以从我的源代码控制程序中启动它,就像我可以使用其他所有合并工具一样看到。有没有人知道这样做的命令行格式?

N.B。 - 我早已放弃尝试使用sublime来处理合并,而是转而使用其他工具来处理这个问题。因此,我从来没有觉得我能接受任何答案,因为我没有检查它们是否按照我想要的方式工作,或者确实是否能够工作。

4 个答案:

答案 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
  • 的位置 在Windows中
  • ,可执行文件为sublime_text.exe,而非subl
  • 不要忘记将sublime text executable添加到路径

答案 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,但我设法打开两个版本,合并它们,然后我必须做一些手动工作。

仍然不顺利,但总比没有好!