2 Revenir dans le temps !
Revenir sur un fichier par rapport à un commit
Revenir sur un commit
git checkout <commit>
vous êtes revenu en arrière en tant que spectateur. Vous pouvez voir le projet tel qu'il était au moment du commit tout en ayant la possibilité de revenir dans le "présent" avec la commande git checkout master
git checkout <commit> fichier.txt
Seul le fichier sélectionné reviendra à l'état du commit choisi
Inverser un commit
git revert <commit>
Cette commande va défaire ce qui avait été fait au moment du <commit> en créant un nouveau commit. Cela n’altère pas l'historique mais va ajouter un nouveau commit d'inversion (les lignes ajoutéées seront supprimées, les fichiers supprimés seront recréés...).
D'autre modification
git reset <fichier> # Supprime un fichier de la zone de staging, mais ne supprime pas les modifications qui sont faites
git reset # Supprime tous les fichiers de la zone de staging, sans supprimer les modifications
git reset --hard # renvoi le dossier de travail au niveau du dernier commit. Toutes les modifications non commit seront perdues
git reset <commit> # Permet de revenir en arrière jusqu'au <commit>, réinitialise la zone de staging tout en laissant votre dossier de travail en l'état
git reset <commit> --hard # Permet de revenir au <commit> et réinitialise la zone de staging et le dossier de travail pour correspondre. Toutes les modifications, ainsi que tous les commits fait après le <commit> seront supprimés