git checkout
git checkout <commit>
Met à jour tous les fichiers du dépôt local pour correspondre au commit <commit>.
Ces actions n’altèrent en aucun cas l’état actuel de votre projet. Le HEAD qui pointait vers la branche sur laquelle vous étiez pointe maintenant vers le commit <commit>.
Pour revenir à l’état actuel de votre projet, il vous suffit de lancer la commande git checkout <branche>.
git checkout <commit> <fichier>
Cette commande permet de modifier dans votre dépôt local le fichier <fichier> pour qu’il corresponde à l’état dans lequel il était au commit <commit>. La valeur de <commit> doit correspondre au hash de celui-ci.
Dans ce cas-là, contrairement au checkout d’un commit, le checkout d’un fichier affecte l’état actuel du projet. C’est-à-dire que le fichier en question sera présent dans le fichiers modifiés si vous lancez la commande git status.
Pour ramener le fichier à sa version actuelle, exécutez :
git checkout HEAD <fichier>
git revert
git revert <commit>
Annule le commit <commit>. Cette commande ne supprimer pas le commit ! Elle créé un nouveau commit dans lequel se trouve les modifications générées par l’annulation du commit <commit>.