web-dev-qa-db-fra.com

Comment faire pour git diff --ignore-space-changer la valeur par défaut

Je pourrais probablement configurer un alias, mais il semble que je devrais pouvoir le définir comme une option dans le fichier de configuration, mais je ne vois pas comment le faire.

Je veux seulement le --ignore-space-change quand je fais du diff, pas quand je fais une demande ou quoi que ce soit d'autre. J'essaie de rendre le diff plus facile à comprendre en ne l'encombrant pas de lignes +/- superflues qui ne présentent pas de réels changements.

103
boatcoder

Selon le manuel de Git Config, cette option n’existe pas. Votre seule option est de créer un alias.

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

21
Dogbert

Vous pouvez utiliser alias git ou alias bash si vous utilisez un système d'exploitation disponible pour Shell.

  1. git alias: Exécutez cette commande pour ajouter un alias:

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

    --ignore-space-change can be abbreviated to -w
    pour appliquer le pseudonyme avec: git dfw

  2. bash alias: exécutez cette commande pour ajouter bash alias:

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

    Ouvrez un nouveau terminal et vous pouvez exécuter directement gitdfw pour obtenir le même résultat.

93
yjqg6666

Je suis d'accord avec réponse de Dogbert qu'il est probablement préférable d'utiliser simplement un alias, mais une autre option consiste à définir l'option option de configuration diff.external à un script wrapper qui appelle diff avec -b.

11
Mark Longair

EDIT: JE SUIS UN FOOL ET NE LISE PAS VOTRE DEMANDE COMPLÈTEMENT

Un moyen de réaliser quelque chose de similaire, de man git-config:

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

Alors ouvrez votre ~/.gitconfig ou ./.git/config/ et ajouter

[apply]
   whitespace = nowarn

Cela ne vous autorisera peut-être pas non plus à commettre quelque chose qui ne modifierait que les espaces, mais je suis sûr que vous pouvez le remplacer par certains indicateurs.

9
some helpful git

Ancienne question (2011), mais maintenant il y a un raccourci git diff -w Qui veut dire --ignore-all-space

Ignorer les espaces lors de la comparaison de lignes. Cela ignore les différences, même si une ligne a des espaces blancs tandis que l'autre ligne n'en a pas.

ce serait génial si cela était possible avec une option. mais un alias fonctionne assez bien. voici les lignes pertinentes de mon .gitconfig:

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

cela suppose l'utilisation de colordiff, ce que je recommande, en vous donnant une presque copie exacte de ce que git diff montrerait, avec deux différences :

  1. la ligne --- dans colordiff est colorée différemment de la même ligne dans git diff (problème très mineur)
  2. chaque fichier est affiché un à la fois (problème gênant - quelqu'un connaît un correctif?)

voici mon/etc/colordiffrc:

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

Mac OS X 10.9.2, version 1.8.5.2 de Git (Apple Git-48)

(colordiff a été obtenu à partir de bière)

2
Joseph Cheek