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
-x
option git clean
aussi, ce qui lui demande de supprimer également les fichiers ignorés.
git clean -fd
commande.
git clean -fd
qui ne supprimera pas les fichiers ignorés. -x
volonté.
git clean -fd
supprimera 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 -f
n'est pas lié à la question et, dans ce scénario, est dangereux