J'aime utiliser git diff -w
pour ignorer les différences d'espaces. Mais, j'ai juste remarqué qu'il ignore même les différences d'espaces au milieu des lignes. Comment pourrais-je uniquement ignorer les différences d'espaces qui apparaissent au début (^) ou à la fin ($) des lignes?
Pour une utilisation en fin de ligne:
git diff --ignore-space-at-eol
Au lieu de ce que vous utilisez actuellement:
git diff -w (--ignore-all-space)
Pour le début de la ligne ... vous n'avez pas de chance si vous voulez une solution intégrée.
Cependant, si cela ne vous dérange pas de vous salir les mains, un patch assez ancien flotte quelque part qui ajoute un support pour "--ignore-space-at-sol".
Ceci est une vieille question, mais est toujours régulièrement consulté/nécessaire. Je tiens à signaler aux lecteurs comme moi que les espaces mentionnés dans la question du PO sont et non les identique à la définition de Regex, pour inclure les nouvelles lignes, les tabulations et les espaces - Git vous demande d’être explicite. Voir quelques options ici: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Comme indiqué, git diff -b
ou git diff --ignore-space-change
ignorera les espaces en fin de ligne. Si vous souhaitez que ce paramètre soit votre comportement par défaut, la ligne suivante ajoute cette intention à votre fichier .gitconfig, de sorte qu'elle ignore toujours l'espace à la fin de la ligne:
git config --global core.whitespace trailing-space
Dans mon cas, j'ai trouvé cette question parce que je voulais ignorer les "différences d'espacement entre les retours chariot". J'avais donc besoin de ceci:
git diff --ignore-cr-at-eol
ou git config --global core.whitespace cr-at-eol
de ici .
Vous pouvez également en faire la valeur par défaut uniquement pour ce référentiel en omettant le paramètre --global et en intégrant le fichier de paramètres de ce référentiel. Pour le problème de CR auquel j'ai été confronté, il disparaît après l'enregistrement si warncrlf ou autocrlf = true dans la section [core] du fichier .gitconfig.