Fusionner un commit spécifique dans Git
Cet article explique comment nous pouvons fusionner un commit spécifique dans Git. C’est pratique lorsque nous voulons déplacer un commit de notre choix vers une autre branche tout en travaillant sur un projet.
Allons droit au but.
Fusionner un commit spécifique dans Git
Vous trouverez ci-dessous les quatre étapes que nous utilisons lors de la fusion d’un commit spécifique dans Git.
-
Récupérer les modifications du référentiel distant
Nous utilisons la commande
git fetch
pour télécharger toutes les modifications apportées au référentiel distant sur notre machine locale.git fetch
Notez que la commande ci-dessus importe uniquement les modifications et les stocke dans votre dépôt local. Il ne fusionne pas les commits.
-
Confirmer le hachage de validation
Vous aurez besoin du hash de commit du commit que vous souhaitez fusionner. Suivez ces étapes.
Basculez vers la branche contenant le commit souhaité.
git checkout <branch-name>
Exécutez la commande
git log
pour voir une liste des commits dans cette branche. Utilisez l’argument--oneline
pour une vue compacte.git log --oneline
-
Fusionner le commit
Notez le hachage du commit que vous souhaitez fusionner et basculez vers la branche de destination. Utilisez la commande
git checkout
.git checkout <branch-name>
Utilisez la commande
git cherry-pick
pour fusionner le commit que vous désirez avec votre branche actuelle.git cherry-pick <sha1-commit-hash>
-
Poussez la branche
Nous pouvons maintenant lancer la commande
git push
pour pousser les modifications vers le référentiel distant.git push origin <branch-name>
Il est à noter que nous utilisons la commande
git merge
pour combiner deux branches Git. Nous pouvons également utiliser la commande pour fusionner plusieurs commits dans un seul historique.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn