2020-10-11 04:34:04 +01:00
# git reset
2021-01-07 14:06:38 +00:00
> 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.
2021-01-30 17:03:18 +00:00
> Plus d'informations : <https://git-scm.com/docs/git-reset>.
2020-10-11 04:34:04 +01:00
2021-01-30 17:03:18 +00:00
- Tout enlever de la *zone de stage* :
2020-10-11 04:34:04 +01:00
`git reset`
2021-01-30 17:03:18 +00:00
- Enlever des fichiers spécifiques de la *zone de stage* :
2020-10-11 04:34:04 +01:00
2020-11-10 11:17:06 +00:00
`git reset {{chemin/vers/fichier(s)}}`
2020-10-11 04:34:04 +01:00
2021-05-28 12:30:39 +01:00
- Enlever, en mode interactif, des fichiers spécifiques de l’ index :
2020-10-11 04:34:04 +01:00
2021-05-28 12:30:39 +01:00
`git reset --patch {{chemin/vers/fichier}}`
2020-10-11 04:34:04 +01:00
2021-05-01 17:49:31 +01:00
- Annuler le dernier *commit* , mais garder les changements effectués dans votre système de fichier :
2020-10-11 04:34:04 +01:00
`git reset HEAD~`
2021-05-01 17:49:31 +01:00
- Défaire les deux derniers *commits* , et ajouter leurs changements à l'index (dans la zone de stage) :
2020-10-11 04:34:04 +01:00
`git reset --soft HEAD~2`
2021-01-30 17:03:18 +00:00
- 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` ) :
2020-10-11 04:34:04 +01:00
`git reset --hard`
2021-01-30 17:03:18 +00:00
- 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é!) :
2020-10-11 04:34:04 +01:00
`git reset --hard {{commit}}`