Junior
Qu'est-ce que cherry-pick ?
sobes.tech IA
Réponse de l'IA
git cherry-pick est utilisé pour transférer un ou plusieurs commits d'une branche à une autre.
Principe de fonctionnement :
- Sélectionne le commit (ou les commits) spécifié dans la branche source.
- Applique les changements contenus dans ces commits à la branche active en cours.
- Crée de nouveaux commits dans la branche courante avec les mêmes changements et messages que les commits originaux.
Quand l'utiliser :
- Transférer une correction spécifique d'une erreur d'une branche (par exemple, production) à une autre (par exemple, développement), sans affecter d'autres changements.
- Appliquer des changements d'une branche de fonctionnalités à une autre, sans fusionner complètement.
- Annuler des fusions incorrectes en conservant les commits individuels.
Différences avec merge et rebase :
merge: Fusionne toute l'histoire des changements d'une branche dans une autre.rebase: Réécrit l'histoire des commits, en les déplaçant sur une nouvelle base.cherry-pick: Applique uniquement les commits sélectionnés, en créant de nouveaux commits et sans modifier l'histoire des commits originaux.
Commande principale :
# Transférer un commit
git cherry-pick <commit-hash>
# Transférer plusieurs commits (dans l'ordre de leur indication)
git cherry-pick <commit-hash-1> <commit-hash-2> ...
Exemple :
Supposons qu'il y ait deux branches : main et feature. Sur la branche feature, un commit fix-typo a été effectué. Il faut transférer ce commit à la branche main.
# Passer à la branche cible
git checkout main
# Exécuter cherry-pick en utilisant le hash du commit de la branche feature
git cherry-pick 7f3bca2 # Exemple de hash de commit
Après avoir exécuté la commande, un nouveau commit avec les mêmes changements que fix-typo apparaîtra dans la branche main, mais avec un hash différent.