Parlons Informatique logo
Git

Git: fusionner les deux derniers commits

par Guy-roland ASSALE - 12/11/2020 110 lecture(s) 0 commentaire
Git: fusionner les deux derniers commits

Il m’arrive souvent lorsque je programme de faire plusieurs commits, qui à la fin représente la même chose ou il m’arrive aussi de faire des commits sur la mauvaise branche.

Pour ce faire, avant de faire un push, je réécris l’historique en combinant ces derniers commits.

Pour ce faire, il existe plusieurs approches, le git rebase d’une part et le git merge d’autre part.

Dans cet article nous allons utiliser le git merge. Voici donc les étapes à suivre :

 

1- Quelque soit la technique utilisé assurez vous que le répertoire de travail est propre. Utilisez git status pour le savoir. S’il y a des modifications non validées, enregistrez-les dans un stash (git stash) ou validez-les sur une branche temporaire.

 

2- Nous allons créer une branche de sauvegarde à partir du commit actuel en utilisant la commande

 git branch backup 

Ce n’est pas vraiment nécessaire mais c’est le moyen le plus simple de restaurer l’état actuel en cas de problème.

 

3- Exécutez

 git reset --soft HEAD ~ 2 

.
Cela déplace HEAD deux commits dans le passé sans changer l’arborescence de travail ou l’index. L’index et l’arborescence de travail ressemblent maintenant à ce qu’ils étaient juste avant. Tous les fichiers modifiés au cours des deux derniers commits seront déjà ajoutés à l’index.

 

4- Exécutez git commit. Vous devrez entrer un nouveau message de commit.

 

5- Si le résultat n’est pas celui que vous attendiez (git diff backup ne devrait rapporter aucune différence) ou si vous avez changé d’avis, exécutez
git reset –hard backup
pour revenir à votre point de départ (en fait, juste après l’étape 2 ) .

 

6 – Si vous êtes satisfait du résultat, supprimez la branche de sauvegarde créée à l’étape 2

 git branch -D backup 

 

J’espère cette petite astuce vous sera très utile et à la bonne prochaine.



Laisser un commentaire

Votre adresse email ne sera pas publier. Les champs requis sont suivis d'un *

Bulletin d'information

Recevez tous les derniers contenus directement dans votre boite e-mail.