Git : fixup

Publié le :

Nous sommes sur notre branche de travail et nous avons fait plusieurs commits. Après relecture, on se rend compte qu’un commit précédent contient une erreur ou un oubli. S’il s’agit du dernier commit, on peut utiliser git commit --amend pour modifier ce commit directement.

Mais si le commit à corriger n’est pas le dernier, on peut utiliser la commande git commit --fixup <commit-hash> pour créer un nouveau commit qui sera automatiquement fusionné avec le commit ciblé lors d’un rebase interactif avec l’option --autosquash.

Voici les étapes à suivre :

  1. Identifier le commit à corriger avec git log et copier son hash.
  2. Faire les modifications nécessaires dans le code.
  3. Ajouter les modifications avec git add <fichier> ou git add .
  4. Créer un commit de correction avec git commit --fixup <commit-hash>.
  5. Lancer un rebase interactif avec git rebase -i --autosquash <commit-hash>^ (le ^ indique de commencer le rebase juste avant le commit ciblé).
  6. Git ouvrira un éditeur de texte avec la liste des commits. Le commit de correction sera marqué avec fixup ou squash.
  7. Enregistrer et fermer l’éditeur pour appliquer le rebase. Git fusionnera automatiquement le commit de correction avec le commit ciblé.
  8. Si tout se passe bien, terminer le rebase avec git rebase --continue.
  9. Enfin, pousser les modifications sur le dépôt distant avec git push --force si nécessaire (attention, cela réécrit l’historique).

La Documentation officielle de Git :

https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---fixupamendrewordcommit

Voici quelques ressources pour approfondir le sujet :

Retour à la liste des articles
Github de Samuel Gomez Linkedin de Samuel Gomez Twitter de Samuel Gomez Instagram de Samuel Gomez
Allez en haut