Pour mémoire. Je connaissais le hard reset, pour supprimer le dernier commit :
git reset --hard HEAD~1
Mais il existe aussi le soft reset :
git reset --soft HEAD~1
La différence ? Le hard reset supprime à la fois le commit et les changements (dans le code). Alors que le soft reset supprime le commit mais conserve les changements correspondants (ceux-ci reviennent dans l'état "uncommited").
Supprimer tous les fichiers qui viennent d'être ajouté et qui ne sont pas encore commités dans git :
git reset
Pour enlever un seul fichier :
git reset mon_fichier