# 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}}`