9 votes

Quel est le moyen le plus simple de fusionner toutes les modifications d'une branche sauf une dans Git ?

C'est un peu comme si je voulais choisir tous les commits de la branche sauf un, mais j'aimerais le faire en une seule commande...

- On coupe une version, ce qui crée une branche

- La version change le numéro de version dans tous nos poms, sur la branche à un numéro, et sur master à un numéro différent.

- J'ai effectué un certain nombre d'autres changements dans la branche et je veux copier ces changements sur master.

- J'ai fusionné la branche dans master, ce qui a apporté les changements de code mais aussi les changements de numéro de version, créant des conflits dans chaque pom.

Y a-t-il un moyen simple pour moi de rétablir tous les fichiers pom à leur contenu d'avant la fusion et de les livrer comme résultat de la fusion ?

14voto

Amber Points 159296

Voici ce que je vous suggère de faire. D'abord, faites une fusion régulière mais ne la validez pas :

git checkout master
git merge --no-commit <branch>

puis, inversez tous les fichiers pom :

for file in $(find . -name 'pom.xml'); do git checkout HEAD "$file"; done

alors vous devriez être en mesure d'engager le résultat final :

git commit

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