Comment puis-je annuler toutes les modifications apportées à mon répertoire après le dernier commit, y compris la suppression des fichiers ajoutés, la réinitialisation des fichiers modifiés et l'ajout de fichiers supprimés?
Comment puis-je annuler toutes les modifications apportées à mon répertoire après le dernier commit, y compris la suppression des fichiers ajoutés, la réinitialisation des fichiers modifiés et l'ajout de fichiers supprimés?
Réponses:
Réinitialisez d'abord les modifications
git reset HEAD --hard
puis nettoyez tout ce qui n'est pas suivi. Si vous souhaitez conserver les fichiers qui ne sont pas suivis en raison de .gitignore, soyez prudent avec cette commande.
git clean -fd
-xoption git cleanaussi, ce qui lui demande de supprimer également les fichiers ignorés.
git clean -fdcommande.
git clean -fdqui ne supprimera pas les fichiers ignorés. -xvolonté.
git clean -fdsupprimera ces dossiers et fichiers non suivis. Testé avec git version 1.9.1
Comment puis-je annuler toutes les modifications apportées à mon répertoire après le dernier commit, y compris la suppression des fichiers ajoutés, la réinitialisation des fichiers modifiés et l'ajout de fichiers supprimés?
Vous pouvez annuler les modifications apportées aux fichiers suivis avec:
git reset HEAD --hard
Vous pouvez supprimer des fichiers non suivis avec:
git clean -f
Vous pouvez supprimer les fichiers et répertoires non suivis avec:
git clean -fd
mais vous ne pouvez pas annuler la modification des fichiers non suivis .
Vous pouvez supprimer les fichiers et répertoires ignorés et non suivis
git clean -fdx
mais vous ne pouvez pas annuler la modification des fichiers ignorés .
Vous pouvez également définir clean.requireForceà false:
git config --global --add clean.requireForce false
pour éviter d'utiliser -f( --force) lorsque vous utilisez git clean.
Il y a deux commandes qui fonctionneront dans cette situation,
root> git reset --hard HEAD ~ 1
root> git push -f
Pour plus de commandes git, reportez-vous à cette page
git push -fn'est pas lié à la question et, dans ce scénario, est dangereux