Просмотр различий конфликтующего файла в git с помощью --word-diff

Допустим, я предпринял попытку слияния из ветви A в ветку B - слияние не удалось из-за конфликтов в файле F.

До сих пор я делаю

git diff --word-diff HEAD:F master:F

который становится скучным через некоторое время. Есть ли какая-то альтернативная команда из коробки, которая позволяет мне этого избежать, или мне придется сохранить этот маленький скрипт и сделать его доступным где-нибудь в $PATH моего компьютера?

Спасибо

2 ответа

Всякий раз, когда объем повторяющейся операции будет ограничен (то есть относительно коротким сеансом внутри одного терминала) и вряд ли произойдет снова в ближайшем будущем, я предпочитаю оборачивать его в функцию bash в текущей оболочке. Это позволяет избежать необходимости находить правильное имя для сценария, прежде чем помещать его в $PATH.

В вашем случае введите следующую строку в оболочке

function mydiff() { git diff --word-diff HEAD:"$1" master:"$1"; }

позволит вам выполнить diff с гораздо более короткой командой mydiff F,

Леон ответил, что для этого можно создать крошечную функцию оболочки (или псевдоним оболочки), или, как прокомментировал Фродон, вы можете создать псевдоним Git.

Более полезно, во время конфликтного слияния, местный (--ours) и другие (--theirs) идентификаторы коммитов удобно называются HEAD а также MERGE_HEAD соответственно. Следовательно, вам не нужно жестко кодировать имя master в вашу функцию оболочки, псевдоним оболочки или псевдоним Git и:

[alias]
    wdiff = "!f() { git diff --word-diff HEAD:\"$1\" MERGE_HEAD:\"$1\"; }; f"

сделал бы здесь трюк, например.

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