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

DoctorAngry Messages postés 164 Statut Membre -  
NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    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
    1. 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
      1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387 > 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
      2. DoctorAngry Messages postés 164 Statut Membre 128 > NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention  
         
        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
      3. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387 > 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