Aller au contenu

Astuces utiles

·2 mins·
Git
Git - Cet article fait partie d'une série.
Partie 10: Cet article

Certaines commandes Git ne sont pas indispensables au quotidien, mais deviennent précieuses quand on doit rattraper une erreur, récupérer un commit perdu, ou comprendre ce qui s’est passé.

  • 📦 stash → mettre de côté provisoirement
  • 🍒 cherry-pick → récupérer un commit précis
  • 🧱 rebase -i → nettoyer et réorganiser l’historique
  • 🕰️ reflog → retrouver un commit perdu
  • 🐞 bisect → identifier un commit fautif

Elles servent surtout à rattraper des erreurs, nettoyer un historique, ou comprendre un problème difficile.


📦 git stash — Mettre de côté des modifications non commités
#

git stash sauvegarde temporairement les changements du répertoire de travail, sans les commiter, afin de nettoyer l’espace de travail.

Quand l’utiliser ?

  • On veut changer de branche mais on a du travail non terminé.
  • On veut tester quelque chose rapidement sans perdre ses modifications.

Commandes :

git stash
git stash pop   # Restore

🍒 git cherry-pick — Récupérer un commit précis ailleurs
#

git cherry-pick applique un ou plusieurs commits existants sur la branche courante.

Quand l’utiliser ?

  • Un commit a été fait sur la mauvaise branche.
  • On veut récupérer un correctif sans fusionner toute une branche.

Commandes :

git cherry-pick <commit_hash>
git cherry-pick A..B     # Appliquer une plage de commits

🧱 git rebase -i — Réécrire l’historique proprement
#

La version interactive de rebase permet de réorganiser l’historique, fusionner des commits (squash), réécrire un message, en supprimer…

Quand l’utiliser ?

  • Nettoyer ses commits avant une PR.
  • Regrouper plusieurs petits commits en un commit cohérent.
  • Modifier l’ordre ou corriger un message.

Commande :

git rebase -i HEAD~n
# Ouvre l’éditeur pour manipuler les commits

🕰️ git reflog — Retrouver l’historique complet, même après erreur
#

reflog affiche tous les mouvements de HEAD, y compris ceux qui n’apparaissent plus dans l’historique normal. C’est la commande de secours quand on pense avoir tout cassé.

Quand l’utiliser ?

  • On a fait un reset malencontreux.
  • Une branche semble perdue.
  • Un commit important a “disparu”.

Commandes :

git reflog
git reset --hard HEAD@{n}   # Revenir à un état précédent

🐞 git bisect — Trouver quel commit a introduit un bug
#

git bisect fait une recherche binaire dans l’historique pour identifier le commit fautif.

Quand l’utiliser ?

  • Un bug est apparu “à un moment donné”, mais on ne sait pas quand.
  • On veut localiser la régression rapidement.

Commandes :

git bisect start
git bisect bad          # Commit actuel contenant le bug
git bisect good <commit>   # Commit connu comme sain

Git teste commits après commits jusqu’à trouver l’origine exacte du problème.

Thibault CLEMENT - Intechnia
Auteur
Thibault CLEMENT - Intechnia
Data scientist
Git - Cet article fait partie d'une série.
Partie 10: Cet article