Как сделать git diff --ignore-space-изменить значение по умолчанию

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

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

5 ответов


согласно Руководству по конфигурации Git, такой опции нет. Ваш единственный вариант - сделать псевдоним.

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


вы могли бы использовать git псевдоним или bash псевдоним если вы используете shell-доступную ОС.

  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 для достижения того же.


Я бы согласился с Dogbert это!--5--> что это, вероятно, лучше всего использовать псевдоним, но другой вариант-установить настройки diff.external к сценарию оболочки, который вызывает diff С -b.


EDIT: Я ДУРАК И НЕ ПРОЧИТАЛ ВАШ ЗАПРОС ЧЕРЕЗ

способ достичь чего-то подобного, от 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

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


было бы здорово, если бы это было возможно с возможностью. но псевдоним работает довольно хорошо. вот соответствующие строки из моего .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 было получено от brew)