51 votes

Git : a créé une nouvelle branche à partir d'une mauvaise branche

Je crée généralement une nouvelle branche à partir de develop

 git checkout -b new-feature develop

puis après le dernier commit, je fusionne pour développer

 git checkout develop
git merge new-feature

mais cette fois j'ai créé new-feature2 brach à partir de new-feature et maintenant je ne peux plus fusionner avec develop .

Est - il un moyen de commutation new-feature2 des parents d » à develop ?

(Les fichiers sur lesquels j'ai travaillé étaient la même version que dans develop donc cela ne devrait pas nécessiter de fusion.)

62voto

reto Points 4255

Vous pouvez rebaser votre fonctionnalité sur la base principale :

 git checkout new-feature2  
git rebase --onto develop new-feature new-feature2
# rebase the stuff from new-feature to new-feature2 onto develop branch

ou faites-le « manuellement » en utilisant une sélection de cerises

 git checkout develop
git log --oneline new-feature..new-feature2 
# for every commit call:
git cherry-pick <commit-id> # note, newer versions of cherry-pick allow multiple commits at once

28voto

mrm Points 558

Avez-vous vu une rebase interactive ?

 git rebase -i develop

est une solution assez simple : elle affichera tous vos commits de cette branche. Supprimez simplement les lignes « pick » de la branche indésirable.

4voto

Ján Vorčák Points 3636

qu'en est-il de la création d'un correctif, de la vérification dans la develop et de l'application du correctif ?

 git checkout new-feature2

git format-patch new-feature

git checkout develop

git am name-of-the-patch.patch

1voto

robinst Points 9249

Vous pouvez également utiliser git diff et git apply :

 git diff new-feature..new-feature2 | git apply -

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