Как сделать git diff --ignore-space-change по умолчанию - PullRequest
101 голосов
/ 05 сентября 2011

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

Я хочу --ignore-space-change только тогда, когда я делаю различие, а не когда я делаю заявку или что-то еще. Я пытаюсь облегчить понимание различий, не загромождая их посторонними +/- строками, в которых нет реальных изменений.

Ответы [ 6 ]

92 голосов
/ 24 октября 2012

Вы можете использовать псевдоним git или псевдоним bash , если вы используете ОС, доступные для оболочки.

  1. псевдоним git : Запустите эту команду, чтобы добавить псевдоним:

    git config --global alias.dfw 'diff --ignore-space-change'

    --ignore-space-change can be abbreviated to -w
    , чтобы применить псевдоним, используя: git dfw

  2. псевдоним bash : выполните эту команду, чтобы добавить псевдоним bash:

    echo "alias gitdfw='git diff --ignore-space-change'">>~/.profile

    Откройте новый терминал, и вы можете напрямую запустить gitdfw, чтобы добиться того же.

21 голосов
/ 05 сентября 2011

Согласно инструкции Git Config, такой опции нет.Единственный вариант - создать псевдоним.

http://git -scm.com / docs / git-config

11 голосов
/ 05 сентября 2011

Я бы согласился с Ответом Догберта , что, вероятно, лучше всего использовать псевдоним, но другой вариант - установить параметр конфигурации diff.external для сценария-обертки, который вызываетdiff с -b.

8 голосов
/ 13 февраля 2014

РЕДАКТИРОВАТЬ: Я дурак и не читал ваш запрос через плечо

Способ достижения чего-то подобного, от man git-config:

 apply.whitespace
       Tells git apply how to handle whitespaces, in the same way
       as the --whitespace option. See git-apply(1).

Итак, откройте ~/.gitconfig или ./.git/config/ и добавьте

[apply]
   whitespace = nowarn

Это также может не позволить вам зафиксировать что-то, что только меняет пробел, но я уверен, что вы можете отменить это с помощью некоторых флагов.

2 голосов
/ 30 октября 2018

Старый вопрос (2011), но теперь есть ярлык git diff -w, который обозначает --ignore-all-space

Игнорировать пробелы при сравнении строк.Это игнорирует различия, даже если в одной строке есть пробел, а в другой нет ни одной.

2 голосов
/ 26 марта 2014

было бы здорово, если бы это было возможно с опцией.но псевдоним работает довольно хорошо.Вот соответствующие строки из моего .gitconfig:

[diff]
    tool = mydiff
[difftool "mydiff"]
    cmd = "colordiff -NuBbwi \"$LOCAL\" \"$REMOTE\" | less -R"
[difftool]
    prompt = false
[alias]
    dt = difftool

это предполагает использование colordiff, который я рекомендую, давая вам почти точную копию того, что git diff с двумя отличиями:

  1. строка --- в colordiff окрашена не так, как та же строка в git diff (очень незначительная проблема)
  2. каждый файл показан по одномувремя (раздражающая проблема - кто-нибудь знает исправление?)

вот мой / etc / colordiffrc:

plain=off
newtext=green
oldtext=red
diffstuff=cyan
cvsstuff=red

Mac OS X 10.9.2, git версия 1.8.5.2(Apple Git-48)

(colordiff был получен из варева)

...