web-dev-qa-db-fra.com

Plusieurs commits de sélection

J'ai 33 commits dans la branche principale qui sont maillés. Maintenant, je dois maintenir le dossier proprement. Alors maintenant, j'ai créé des branches de fonctionnalités et j'essaie de classer ces 33 commits dans différentes branches de fonctionnalités. Peut-il donc être possible de sélectionner plusieurs validations à la fois pour les copier dans la branche de fonctionnalité appropriée? Et je suis également confronté à ses conflits lorsque j'ai essayé plusieurs validations avec la commande cherry-pick.

git cherry-pick A B C

ici A, B, C sont le hashcode des commits.

28
Nitu Dhaka

Vous le faites correctement. Le synopsis est

git cherry-pick [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] <commit>...

git cherry-pick va de gauche à droite commit. Vous pouvez commander comme vous le souhaitez. Si vous avez un conflit, vous avez trois choix. vous pouvez git cherry-pick --quit (arrêtez la cueillette et laissez votre arbre dans son état actuel), git cherry-pick --abort (arrêtez la sélection et réinitialisez votre branche dans l'état où elle se trouvait avant de commencer git cherry-pick) ou résoudre ce conflit avec un éditeur ou avec git mergetool puis git cherry-pick --continue aller au prochain commit dans votre liste.

18
silvio

Si vous avez besoin de conserver correctement l'enregistrement, il est préférable de créer une branche de rubrique et d'exécuter git rebase -i <commit before the 33rd>, un rebase interactif. Suivez les instructions pour supprimer les validations. Cela devrait être plus simple que de sélectionner des cerises, tant de commits dans un ordre strict particulier.

6
mockinterface