Comment fusionner plusieurs commit git en un seul ?

Yannick Severo

Yannick Severo

· 2 min de lecture
git rebase

Comment regrouper plusieurs commit git ?

⚠️ Avant de commencer si vous n’êtes pas sur de vous créer une copie de votre branche actuelle git branch une_copie_de_secours


Pour fusionner plusieurs commits Git en un seul, il faut utiliser la commande git rebase -i (pour "interactive rebase")

1 - Ouvrez votre terminal et assurez-vous que vous êtes dans la branche où vous souhaitez fusionner les commits

2 - Utilisez la commande git log pour voir l'historique des commits et notez les identifiants (hash) des commits que vous souhaitez fusionner.
Les commits apparaissent dans l'ordre inverse, du plus récent au plus ancien

3 - Exécutez la commande git rebase -i HEAD~n, où "n" est le nombre de commits que vous souhaitez fusionner
Par exemple, si vous voulez fusionner les trois derniers commits, utilisez git rebase -i HEAD~3

4 - Git ouvrira un éditeur de texte avec une liste de ces commits :

5- Modifiez le mot-clé "pick" en "squash" (ou simplement "s") pour les commits que vous souhaitez fusionner dans le commit précédent
Par exemple :

6 - Enregistrez et fermez l'éditeur de texte

7 - Un second prompt va s’ouvrir, où Git vous permettra de rédiger un message de fusion pour le nouveau commit résultant de la fusion.
Vous pouvez conserver le message existant ou en créer un nouveau. Enregistrez et fermez l'éditeur de texte.

8 - Vérifiez votre historique de commits à l'aide de git log pour vous assurer que les commits ont été fusionnés correctement.

9 - Vous pouvez pousser les modifications vers le dépôt distant avec git push si nécessaire.

⚠️ Attention si les commits sont déjà présent sur votre repo distant (gitHub par exemple) lancer la commande git push -f

Yannick Severo

Yannick Severo

Ma passion est de résoudre des problèmes et de créer des outils pour aider les gens. C'est ce qui me motive dans mon travail en tant que développeur. J'aime découvrir de nouveaux défis et résoudre des problèmes complexes pour aider les utilisateurs à atteindre leurs objectifs. J'utilise au quotidiens Node js et React.

Copyright © 2024 Face au code. All rights reserved.