git appliquer les modifications d'un commit sur une autre branche
Je veux faire quelque chose de similaire à la commande git rebase, mais sans s'effondrer parallèle s'engage.
Disons que j'ai suivantes s'engage à:
B (bar)
/
A-C-D (foo)
Maintenant je veux profiter de l'changements D introduit au C de la direction générale foo, et de les appliquer à B en direction de la barre. de sorte que je me retrouve avec les éléments suivants:
B-E (bar)
/
A-C-D (foo)
Où la différence entre s'engage B et E est égal à la différence entre commet C et D. Est-ce possible? Est-il un moyen de le faire sans la création d'un patch?
Vous devez vous connecter pour publier un commentaire.
Oui:
git checkout -b mergebranch B
crée une nouvelle branche appeléemergebranch
à l'aide de la brancheB
comme point de départ.git cherry-pick D
applique les modifications introduites par la livraison à l'extrémité de la brancheD
.Si le dernier commit sur la branche que vous voulez choisir de (foo dans l'exemple) est une fusion de commettre, vous pouvez pointer à la commettre à cherry pick en utilisant
git cherry-pick branchname~1
pour obtenir le commit qui a été la mère de la fusion.Dans mon cas j'avais besoin pour appliquer les modifications spécifiques s'engage d'une autre branche. Je l'ai fait par le "cherry picking" comme si:
git cherry pick COMMIT-HASH
.