# git reset > Enlève des commits ou des changements en réinitialisant la tête Git à l'état spécifié. > Si un chemin est passé en paramètre, Git reset fonctionne comme «unstage». > Si un hash de commit est passé en paramètre, Git reset annule les commits jusqu'à ce dernier. > Plus d'informations : . - Tout enlever de la zone de stage : `git reset` - Enlever des fichiers spécifiques de la zone de stage : `git reset {{chemin/vers/fichier(s)}}` - Enlever, en mode interactif, des fichiers spécifiques de l’index : `git reset --patch {{chemin/vers/fichier}}` - Annuler le dernier commit, mais garder les changements effectués dans votre système de fichiers : `git reset HEAD~` - Défaire les deux derniers commits, et ajouter leurs changements à l'index (dans la zone de stage) : `git reset --soft HEAD~2` - Enlever tout les changements qui n'ont pas été commit, qu'ils soient dans la zone de stage ou non (pour enlever seulement les changements de la zone de stage, utiliser `git checkout`) : `git reset --hard` - Réinitialiser le dépôt à un commit spécifique en retirant tout les changements (ceci inclus les changements dans des commits entre la tête et le commit spécifié !) : `git reset --hard {{commit}}`