21/04/2021

1. Déplacer HEAD - reset

Lu 1331 fois Licence Creative Commons

Déplacer la tête à un commit antérieur

La commande reset est utilisée pour retirer des modifications du staging, mais peut également permettre de revenir à un état antérieur du projet lorqu'on passe une référence à un commit et une option --mode:

git reset 

Note: retirer toutes les modifications du staging avec la commande git reset est en réalité le comportement par défaut, correspondant au mode mixed et au dernier commit.


Soft / Hard

En mode soft, l'historique est réinitialisé au commit indiqué mais les fichiers ne sont pas réinitialisés, ce qui réécrit donc uniquement l'historique.

En mode hard, l'historique et les fichiers sont réinitialisés à l'état du commit indiqué. Après un hard reset, on peut également exécuter la commande suivante pour supprimer les fichiers non suivis par Git (qui ont probablement été rajoutés après le commit auquel on a reset):

git reset bbd7c93 --hard
[output]HEAD is now at bbd7c93 Ajoute une documentation sur le staging
git clean -df

Attention: déplacer la tête signifie réécrire l'historique. Ne jamais réécrire l'historique qui a déjà été partagé avec votre équipe ! Ce type d'opération est à réaliser uniquement pour les commits locaux.