Если останавливать процесс недостаточно, убить сам оболочку (в которой вы запустили git diff
) может быть более эффективным.
Смотрите также Git Diff with Vimdiff
Не будучи готовы идти на полной скорости в использовании vimdiff
(я просто новичок в этом), я ставлю следующие в 'gitvimdiff
'.
В результате я могу использовать vimdiff
, чтобы посмотреть на git-diff, запустив 'gitvimdiff
', но нормальный вызов 'git diff
' ведет себя так, как я привык.
#!/bin/sh
if [ -n "${GIT_EXTERNAL_DIFF}" ]; then
[ "${GIT_EXTERNAL_DIFF}" = "${0}" ] ||
{ echo “GIT_EXTERNAL_DIFF set to unexpected value” 1>&2; exit 1; }
exec vimdiff “$2″ “$5″
else
GIT_EXTERNAL_DIFF=”${0}” exec git –no-pager diff “[email protected]”
fi
Но если вы все еще хотите модифицированную git diff
, git status
может помочь перед его запуском;)
И вы можете настроить функцию, чтобы получить старый git diff
поведение, если это необходимо:
У меня все еще есть доступ к поведению git diff по умолчанию с флагом --no-ext-diff
. Вот функция, я ставлю в моих файлах конфигурации Баш:
function git_diff() {
git diff --no-ext-diff -w "[email protected]" | vim -R -
}
--no-ext-diff
: для предотвращения использования vimdiff
-w
: игнорировать пробелы
-R
: начать Vim в только для чтения режим
-
: сделать vim действующим как пейджер
Это прекрасная проблема есть :) – vfclists