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

DoctorAngry Messages postés 164 Statut Membre -  
NHenry Messages postés 15479 Statut Modérateur -
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

NHenry Messages postés 15479 Statut Modérateur 366
 
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.
0
DoctorAngry Messages postés 164 Statut Membre 128
 
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 ?
0
NHenry Messages postés 15479 Statut Modérateur 366 > DoctorAngry Messages postés 164 Statut Membre
 
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>
0
DoctorAngry Messages postés 164 Statut Membre 128 > NHenry Messages postés 15479 Statut Modérateur
 
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" ?
0
NHenry Messages postés 15479 Statut Modérateur 366 > DoctorAngry Messages postés 164 Statut Membre
 
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.
0