222 votes

Fusion sans conflits d’espaces

J'ai un problème lorsque j'ai obtenu une validation grand qui change environ un millier de lignes de code, en supprimant les espaces de fin de ligne et d'enlever les espaces avant les onglets.

Il y a également environ 50 tirez les demandes pour ce projet, qui ont tous des conflits lors de mon commit est fusionné. Est-il possible que git peut être configuré de sorte que lors de la fusion de l'avenir s'engage, il ignore les conflits où l'un d'eux est juste un espace de changement?

La modification de git lui-même ou à l'aide d'un outil tiers n'est pas possible, mais à l'aide d'un crochet est très bien.

299voto

VonC Points 414372
 git merge -Xignore-all-space

Ou (plus précis)

 git merge -Xignore-space-change

devrait être suffisant pour ignorer toutes les espace de conflits au cours de la fusion.

Voir git diff:

--ignore-space-change

Ignorer les changements dans la quantité d'espace.
Il ignore les espaces en fin de ligne, et considère toutes les autres séquences d'une ou de plusieurs caractères espace équivalent.

--ignore-all-space

Ignorer les espaces lorsque l'on compare les lignes.
C'est ignorer les différences, même si une ligne a un espace où l'autre n'en a aucun.


L' OP Callum Macrae rapports que, dans ce cas, la fusion se poursuivre sans interruption, et les espaces contenus dans la liste demande à des correctifs sont appliqués à l'échelle locale des fichiers.
Cependant, l'OP utilise un pre-commit hook qui prend soin de dit les espaces de fin.
(Je suppose un peu similaire à ce un seul, également référencé ici).


L'OP pre-commit hook est référencé ici:

En plus de l'élimination de fuite d'espaces, il élimine un à trois espaces avant les onglets (j'ai onglet largeur à 4), et ajoute EOLs.
J'ai eu des rapports que le code qui ajoute de l'EOL supprime le fichier dans windows, mais je n'ai pas été en mesure de répliquer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X