comment puis-je git cherry-pick un commit de la branche A à la branche B mais je suis dans la branche master?

J'ai besoin de choisir un commit de DEV à master, INT (pour l'environnement de test interne), branches PROD.

Si j'ai besoin de passer à la branche correspondante à chaque sélection, j'ai besoin de vérifier INT, de vérifier PROD.

Puis-je simplement être dans la branche Master et choisir un commit de DEV à INT, à PROD mais sans passer à une autre branche ?

Merci beaucoup.


Solution du problème

Pas en général, non. La sélection de cerises est implémentée comme une sorte de fusion en interne, et la fusion - comme la plupart des processus dans Git - a lieu sur la branche actuelle, de sorte que la branche doit être extraite dans un arbre de travail, avec un index dans lequel la fusion peut se produire.

Vous pouvez cependant ajouter une nouvelle arborescence de travail à n'importe quel référentiel Git existant à l'aide de git worktree add. Ce nouvel arbre de travail doit se trouver sur une autre branche : pas la branche extraite de l'arbre de travail principal, ni aucune branche extraite d'un autre arbre de travail. 1 Mais c'est exactement ce que vous voulez ici. Il suffit donc d'ajouter un arbre de travail qui se trouve sur la branche — cela INTdevient votre deuxième arbre de travail — et un troisième qui se trouve sur la branche PROD, et d'effectuer les deux opérations de sélection dans les deux arbres de travail ajoutés.

1 Un arbre de travail peut également être en mode "TÊTE détachée", mais cela n'aide pas pour votre cas.

Commentaires

Posts les plus consultés de ce blog

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Détecter les appuis sur les touches fléchées en JavaScript

Une chaîne vide donne "Des erreurs ont été détectées dans les arguments de la ligne de commande, veuillez vous assurer que tous les arguments sont correctement définis"