Je viens de faire un
git commit -m "blah"
Puis j'ai ajouté des fichiers, comment puis-je revenir en arrière et supprimer ce qui se trouve dans mes fichiers actuels qui n'ont pas encore été ajoutés/commandés ?
Je viens de faire un
git commit -m "blah"
Puis j'ai ajouté des fichiers, comment puis-je revenir en arrière et supprimer ce qui se trouve dans mes fichiers actuels qui n'ont pas encore été ajoutés/commandés ?
Caveat Emptor - Commandes destructives à venir.
Atténuation - git reflog
peut vous sauver si vous en avez besoin.
1) UNDO les modifications des fichiers locaux et GARDER votre dernier engagement
git reset --hard
2) UNDO les modifications des fichiers locaux et ENLEVER votre dernier engagement
git reset --hard HEAD^
3) GARDER les modifications des fichiers locaux et ENLEVER votre dernier engagement
git reset --soft HEAD^
Si vous souhaitez supprimer les contenus nouvellement ajoutés et les fichiers qui ont déjà été mis à disposition (et donc ajoutés à l'index), vous pouvez utiliser la fonction :
git reset --hard
Si vous voulez supprimer également votre dernier commit (celui avec le message "blah"), il est préférable d'utiliser :
git reset --hard HEAD^
Pour supprimer les fichiers non suivis (donc les nouveaux fichiers non encore ajoutés à l'index) et les dossiers, utilisez :
git clean --force -d
Une méthode simple et infaillible pour annuler les changements de fichiers locaux depuis le dernier commit est de les placer dans une nouvelle branche :
git branch changes
git checkout changes
git add .
git commit
Cela laisse les changements dans la nouvelle branche. Retournez à la branche d'origine pour retrouver le dernier commit :
git checkout master
La nouvelle branche est un bon endroit pour pratiquer différentes manières de revenir sur des changements sans risquer de perturber la branche originale.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.