Git : comment revenir à un commit précis (sans supprimer de commit) ?

Signaler
Messages postés
142
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
19 septembre 2020
-
Messages postés
14723
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
17 septembre 2020
-
Bonjour,

La question peut sembler bête, mais je n'arrive pas à comprendre en lisant les docs, quelle est la commande qui permet de faire cela. Pourtant elle doit forcément y être, donc je crois que j'ai mal compris quelque chose.

Mon exemple :

Je suis sur la branche master, et je veux revenir au commit 34ac2, sans supprimer un quelconque commit, pour voir comment était mon code au moment ou j'ai fait ce commit.

Je vous assure que j'ai cherché, mais comme je vous ai dis, il y a forcément un truc que je n'ai pas dû piger. :-/

Merci,
DrA

1 réponse

Messages postés
14723
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
17 septembre 2020
251
Tu créé une branche qui pointe sur le dernier commit (pour garder trace de ta position)
git branch ...
Tu switch ensuite sur ton commit avec :
git checkout 34ac2
Et te voilà en détaché (non lié à une branche) sur ton commit.
Messages postés
142
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
19 septembre 2020
110
Bonjour et merci pour votre réponse.
Là en en l'occurrence je suis déjà sur une branche qui s'appelle master, pourquoi dois-je refaire une branche ?
Messages postés
14723
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
17 septembre 2020
251 >
Messages postés
142
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
19 septembre 2020

Juste le
git checkout <hash>    

et ça te mets sur le commit, après si tu veux créer une branche à partir de là, tu peux faire :
git checkout -b <branch name>
Messages postés
142
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
19 septembre 2020
110 >
Messages postés
14723
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
17 septembre 2020

Merci encore pour votre réponse.
Quelle est donc la différence entre
git branch ...
et
git checkout -b <branch name>
s'ils permettent tous les deux de créer une branche ?

Également, j'ai lu qu'avec
git checkout <branch name>
, on pouvait aller sur le dernier commit de la branche, est-ce correcte ? Mais alors dans ce cas que se passe t-il si il y a une branche qui s'appelle "test" et un commit qui est tagué "test" ?
Messages postés
14723
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
17 septembre 2020
251 >
Messages postés
142
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
19 septembre 2020

git branch créé une branche git checkout -b créé une branche et te place dessus.
Dans le cas d'un commit et d'un tag portant le même nom, je ne sais pas, c'est à éviter en tout cas.