J'ai créé une branche "feature" hors service et j'ai travaillé pendant longtemps. J'ai ensuite récupéré les derniers validations de la branche master et j'ai redéfini mes commits de branche "feature". Puis j'ai fusionné "feature" en master. Cependant, j'ai oublié la fusion et j'ai continué à m'engager dans la branche "feature". Je veux maintenant ces commits dans une nouvelle branche, donc je voudrais maintenant créer une autre branche, "feature_2", qui est basée sur les commits sur la branche "feature" depuis la dernière fusion dans master. Aucune suggestion?Création d'une branche git à partir des validations sélectionnées sur une autre branche
3
A
Répondre
1
Considérant que:
feature
déjà des références commits depuis la dernière fusion dansmaster
- branches ne sont que des pointeurs
x--x--x (master) \ y--y--y (feature)
, vous pouvez simplement:
git checkout feature
git checkout -b feature2
git branch -f feature master
(fourni aucun commits ont été faites surmaster
depuis la fusionfeature
)
x--x--x (master, feature) \ y--y--y (feature2)
Tous les commits de maître ne sont plus référencés par feature
(qui est remis à où master
est), mais sont maintenant accessibles par feature2
(où feature
est avant d'être réinitialisé à master
)
L'OP Chip Castle ajoute:
J'ai 3 autres membres de l'équipe qui ont eu leurs branches fusionnées en maître depuis, donc je ne veux pas fusionner les mêmes commits je l'ai déjà fusionné .
J'espérais donner une plage SHA seulement pour les commits dont j'ai besoin d'une fonctionnalité à une nouvelle branche. Y a-t-il un moyen de faire cela ou un meilleur moyen?
La situation est donc:
x--x--x--y'--y' (master, updated after a fetch from other repo) \ y'--y'--y--y (feature, with y' being already merged, and y being the commits I need)
Ensuite, vous pouvez simplement rebasage fonction au-dessus de maître: commits identiques seront ignorés.
J'ai 3 autres membres de l'équipe dont les branches ont été fusionnées depuis, donc je ne veux pas fusionner les mêmes commits que j'ai déjà fusionnés. J'espérais donner une gamme SHA seulement pour les commits dont j'ai besoin d'une fonctionnalité à une nouvelle branche. Y a-t-il un moyen de faire cela ou un meilleur moyen? –
@Chip: J'ai mis à jour ma réponse, mais n'hésitez pas à laisser un commentaire ici si j'ai mal compris votre situation exacte, et éditez votre question avec un diagramme illustrant votre état actuel de repo si nécessaire. – VonC
Parfait. Ça marche pour moi. Merci! –