201 votes

Git peut me dire si une fusion entrera en conflit sans réellement fusionner ?

Est-il possible de savoir si une fusion entrera en conflit ou non, sans toucher à l’arbre de travail ? Je ne veux pas toucher l’arbre de travail parce que je ne veux pas qu’elle soit retiré. Qui prendrait beaucoup de temps si je veux voir cette information pour plusieurs branches.

101voto

Ian Robinson Points 8666

Je suis en supposant que vous voulez juste savoir comment beaucoup de peine que vous obtenez en avant de tenter de la fusion...et la réinitialisation de la dernière validation après l'échec d'une opération de fusion est relativement facile donc je ne serais pas surpris si c'est l'approche choisie.

Cela dit, si vraiment vous ne voulez pas toucher vos fichiers existants dans l'arbre de travail - vous pouvez créer un patch et de le tester à l'encontre de la branche cible. Cela a aussi l'avantage de montrer exactement ce que des modifications ont été apportées aux fichiers - il suffit d'ouvrir le fichier de correctif dans un éditeur de texte.

git checkout -b mycrazybranch
[change some stuff...]
git add .
git commit -m "changed some stuff"
git format-patch master --stdout > crazy.patch
git checkout master
git apply crazy.patch --check
[all good! cleanup...]
rm crazy.patch

Comme vous pouvez le voir, cela va créer un fichier de patch, vous pouvez ensuite tester avec --vérifier et voir si il y a des erreurs, puis supprimer le fichier de correctif.

79voto

manojlds Points 96599

Vous pouvez faire `` après avoir vu qu’il y a des conflits.

60voto

Congbin Guo Points 333

Un résumé des réponses existent, il y a deux voies pour vérifier si il y aurait des conflits de fusion

``

Remarque : votre branche actuelle devrait avoir `` lorsque vous exécutez au-dessus de la commande

Une autre façon :

24voto

Alexandre Points 600

Pas exactement comme ça. Mais vous pouvez utiliser l’option--option non validation, donc il ne commet pas automatiquement le résultat après la fusion. De cette façon vous pouvez inspecter, et si vous le souhaitez, pour annuler la fusion sans déconner avec l’arborescence de validation.

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