Как я могу настроить sdiff как инструмент слияния для git?

Я все еще ищу хороший инструмент git merge для командной строки (без графического интерфейса), так как я не знаю vim или emacs. Я нашел следующее о том, как использовать sdiff для слияния, что кажется довольно простым.

Я не могу заставить sdiff работать должным образом. В настоящее время у меня есть следующее в моем файле.gitconfig, но git mergetool жалуется что git config option merge.tool set to unknown tool: sdiff,

[merge]
        conflictstyle = diff3
        tool = sdiff
[mergetool "sdiff"]
        path = /usr/bin/sdiff

С cmd = sdiff $LOCAL $REMOTE в.gitconfig, когда я пытаюсь git mergetool Я не получаю возможность что-либо редактировать, но получаю сообщение Was the merge successful? [y/n] сразу.

Какова правильная конфигурация, чтобы sdiff работал как инструмент слияния для git? В качестве альтернативы, если вы знаете лучший инструмент командной строки, у которого нет крутой кривой обучения, я хотел бы знать.

Редактировать: вот что я получаю, когда запускаю git mergetool:

Merging:
[list of files]

Normal merge conflict for 'xx/yy/zz.php':
  {local}: modified file
  {remote}: modified file
Hit return to start merge resolution tool (sdiff):

[Split screen of both versions]

xx/yy/zz.php seems unchanged.
Was the merge successful? [y/n]

1 ответ

sdiff 2-х сторонний инструмент слияния Я предпочитаю 3 способа слияния.

Подробнее о том, почему 3-сторонние инструменты слияния менее подвержены ошибкам, можно найти по этой ссылке: Почему 3-стороннее слияние выгодно по сравнению с 2-сторонним слиянием?

И вот некоторые из лучших трехсторонних инструментов слияния перечислены здесь: Какой самый лучший трехсторонний инструмент слияния?

Другие вопросы по тегам