Объединение файлов в Sublime с помощью Sublimerge через командную строку

Я пытаюсь найти лучший файл слияния и хочу попробовать Sublime, поскольку моя работа выполняется с его помощью. поэтому я установил Sublimerge и теперь застрял. Я знаю, что могу сравнить два уже открытых файла или сравнить их с боковой панелью, но то, что я хочу сделать, это запустить его через командную строку, чтобы я мог отбросить ее из нашей программы управления версиями, как я могу, с помощью любого другого инструмента слияния, видел. Кто-нибудь знает формат командной строки для этого?

N.B. - Я давно отказался от попыток использовать возвышенное, чтобы обрабатывать слияния, и вместо этого переключился на другие инструменты, чтобы справиться с этим. Поэтому я никогда не чувствовал, что могу принять любой ответ, поскольку я не проверяю их, не работают ли они так, как мне хотелось бы, или действительно ли они работают вообще.

Ответ 1

 subl -n --wait "<LEFT>" "<RIGHT>" --command "sublimerge_diff_views {\"left_read_only\": true, \"right_read_only\": true}"

Подробнее см. "VCS Integration" .

Ответ 2

Как уже сказал 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}\"

Ответ 3

Взятие jnns 'ответа, но внесение соответствующих изменений для окон.

%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, NOT subl
  • не забудьте добавить возвышенный текст, исполняемый в путь

Ответ 4

Я точно не знаю, как это сделать, но я все ближе.

Сначала вам нужен удобный путь к Sublime-бинарному:

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

Затем в командной строке git GUI или git настройте ~/bin/subl как инструмент слияния.

Я использую Source Tree, и я не понял, как наилучшим образом использовать Sublimerge, но мне удалось открыть обе версии, объединить их, а затем я должен выполнить небольшую ручную работу.

Все еще не гладко, но лучше, чем ничего!