Mémo Git · Branches
Se placer sur un ancien commit
git switch --detach <commit>
Pour voir ou tester le projet tel qu'il était à un commit précis, lance git switch --detach <commit>. Tu n'es alors plus sur aucune branche : c'est l'état « HEAD détaché ». Rien n'est perdu, et git switch <branche> te ramène où tu étais.
Ce que ça fait
Met la copie de travail dans l'état d'un commit précis, sans branche (« HEAD détaché »).
Un cas d'usage
Tu veux relancer l'application telle qu'elle était la semaine dernière pour reproduire un bug.
Attention : Des commits créés en HEAD détaché sont perdus de vue dès que tu changes de branche : crée une branche pour les garder.
En ligne de commande
git switch --detach <commit>- Se place sur un commit, un tag ou une branche distante.
git checkout <commit>- Ancienne syntaxe, équivalente.
git switch -- Revient à la branche précédente.
git switch -c <branche>- Garde le travail fait en HEAD détaché dans une nouvelle branche.
Dans Merathon
- Clic droit sur le commit dans le graphe → « Checkout ce commit (HEAD détaché) ».
- Pour revenir, double-clique sur une branche de « Local ».
Questions fréquentes
Que veut dire « You are in 'detached HEAD' state » ?
HEAD pointe directement sur un commit et non sur une branche. Tu peux regarder, compiler, tester. Si tu commites, crée une branche avant de repartir, sinon ces commits ne seront plus visibles.
J'ai commité en HEAD détaché puis changé de branche : comment les récupérer ?
git reflog donne le hash du dernier commit ; git branch <branche> <hash> le rattache à une branche.