Cherry-Pick un commit dans Git
-
Quand utiliser le Git
cherry-pick
? -
Commande Git
cherry-pick
- Restaurer les commits supprimés et annuler les modifications dans Git
cherry-pick
est une commande très utile qui est incroyable et très utile dans divers scénarios lors de l’utilisation de Git. Dans Git, la commande cherry-pick
nous permet de combiner les commits triés et séparés d’une branche dans la branche HEAD
actuelle.
Nous pouvons expliquer comme choisir un commit dans la branche particulière et le transférer vers une autre branche. Cette commande peut être utile pour annuler les modifications de cette branche. Par exemple, si un commit est accidentellement poussé vers la branche indésirable. Nous pouvons basculer vers la branche souhaitée et choisir ce qui s’engage accidentellement dans la branche souhaitée, là où elle devrait se trouver.
Quand utiliser le Git cherry-pick
?
Git cherry-pick
est un outil puissant mais ne peut pas toujours être le meilleur choix. Nous devrions appliquer cherry-pick
pas courant car il crée facilement des commits en double lorsque nous combinons un commit dans notre branche HEAD
à l’aide de cette commande.
Git est chargé de créer un nouveau commit avec les mêmes exigences que le dernier commit. Git cherry-pick
doit être utilisé dans un scénario où nous avons commis par erreur les nouvelles modifications sur la mauvaise branche et que nous les avons poussées vers le référentiel distant.
Après l’avoir poussé vers le référentiel distant, nous réalisons que le commit poussé n’était pas nécessaire pour pousser sur une branche particulière, nous devons donc utiliser la commande Git cherry-pick
pour choisir ce commit par ID unique et le transférer vers le bon branche.
Chaque fois que nous avons la possibilité d’appliquer la fusion ou la rebase traditionnelle pour combiner, nous devrions envisager le cherry-picking
car le cherry-pick
doit être réservé aux rares cas où la fusion ou le rebase n’est pas applicable.
Commande Git cherry-pick
Nous avons seulement besoin de spécifier le commit que nous voulons combiner dans notre branche HEAD
actuelle à partir du commit que nous avons fait sur la mauvaise branche, et12x8iu
est l’ID de commit que nous devons spécifier pour le combiner sur la branche actuelle.
Vous trouverez ci-dessous la commande qui transférera le mauvais commit vers le nouveau dernier commit.
$ git cherry-pick et12x8iu
De cette façon, nous validerons directement les révisions spécifiées dans notre branche actuellement extraite.
Supposons que nous ayons encore besoin de quelques modifications dans notre travail. Dans ce cas, nous pouvons également utiliser la commande Git pour inclure uniquement les modifications du commit dans notre copie de travail principale sans les valider directement. De cette façon, il entrera directement dans une copie de travail modifiée et nous pourrons modifier les fichiers selon nos besoins.
Voici la commande pour obtenir le mauvais commit dans notre répertoire de travail :
$ git cherry-pick et12x8iu --no-commit
Restaurer les commits supprimés et annuler les modifications dans Git
Parfois une branche de fonctionnalité
a des complications et n’est pas combinée dans une branche courante
, et parfois une pull request peut s’arrêter sans être fusionnée à cause de différentes exigences de travail.
La particularité de Git est qu’il ne perd jamais la trace de ces commits, et grâce à certaines commandes comme git log
et git reflog
, ils peuvent être à nouveau suivis et cherry-picked
à leur place où ils devraient être dans le premier lieu.
On peut dire que l’option cherry-pick
ne doit pas être utilisée à la place de git merge
ou git-rebase
. La commande git log
peut être appliquée pour aider à trier les commits à sélectionner dans la branche particulière.
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedInArticle connexe - Git Commit
- Afficher l'historique des validations pour une branche à l'aide de Git Log With Range
- Afficher les fichiers dans Git Commit
- Commits multiples à l'aide de Cherry-Pick dans Git
- Copier les commits d'une autre branche dans Git
- Git Afficher les changements dans le commit
- Modifier l'éditeur Git pour les commits