Fusion sans conflits d'espace

j'ai un problème où j'ai un grand commit qui change environ un millier de lignes de code, en enlevant les espaces à la fin des lignes et en enlevant les espaces avant les onglets.

il y a aussi environ 50 demandes de pull pour ce projet, qui auront toutes des conflits lorsque mon commit sera fusionné. Y a-t-il un moyen pour que git puisse être configuré de sorte que lors de la fusion de Future commits, il ignore les conflits où l'un d'eux n'est qu'un changement d'espace?

Modifier git lui-même ou utiliser un outil tiers n'est pas possible, mais utiliser un crochet est très bien.

143
demandé sur pb2q 2012-03-19 23:24:41
la source

1 ответов

 git merge -Xignore-all-space

Ou (plus précis)

 git merge -Xignore-space-change

devrait suffire à ignorer tous les conflits liés à l'espace lors de la fusion.

voir git diff :

--ignore-space-change

Ignore les changements dans la quantité de blanc.

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

Ignore whitespace en comparant les lignes.

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

ks1322 ajoute dans les commentaires un bon conseil:

il vaut la peine de fusionner avec --no-commit et de revoir la fusion avant la propagation réelle .


le OP Callum Macrae rapporte que, dans ce cas, la fusion se poursuit sans interruption, et les espaces de fuite contenus dans les correctifs de requête pull sont appliqués aux fichiers locaux.

Toutefois, L'OP utilise un crochet pre-commit qui prend soin de ces espaces de fuite.

(Je suppose un peu similaire à celui-ci , aussi référencé ici ).


le crochet pre-commit de L'OP est référencé ici :

en plus de supprimer les espaces vides, il supprime un à trois espaces avant les onglets (j'ai mis la largeur des onglets à 4), et ajoute des outils.

J'ai eu des rapports que le code qui ajoute la fin de vie supprime le fichier dans windows, mais n'ont pas été en mesure de le répliquer.

193
répondu VonC 2017-05-23 15:26:26
la source

Autres questions sur git whitespace git-merge