Quand je cours git reset --hard HEAD
, il est censé se réinitialiser à une version vierge de ce que vous avez tiré, si je comprends bien. Malheureusement, cela laisse des fichiers qui traînent, comme un git status
affiche une grande liste de fichiers non suivis.
Comment dites-vous à git "Il suffit de le ramener à EXACTEMENT ce qui était dans le dernier tirage, rien de plus, rien de moins"?
Vous devez utiliser git clean -f -d
pour se débarrasser des fichiers et des répertoires non suivis dans votre copie de travail.
Si vous avez des fichiers que vous souhaitez toujours conserver:
git clean -di
fera un nettoyage interactif qui vous permet de supprimer uniquement les fichiers / répertoires dont vous ne voulez plus.
git reset --hard && git clean -dfx
ou, zsh fournit un alias 'gpristine':
alias gpristine='git reset --hard && git clean -dfx'
Ce qui est vraiment pratique
Approche interactive de l'utilisateur:
git clean -i -fd
Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/amazon/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/s3/ [y/N]? y
-i pour interactif
-f pour la force
-d pour le répertoire
-x pour les fichiers ignorés (ajoutez si nécessaire)
Remarque: Ajouter -n ou --dry-run juste vérifier ce qu'il va faire.
La commande que vous recherchez est git clean
Vous avez peut-être fait une réinitialisation logicielle à un moment donné, vous pouvez résoudre ce problème en faisant
git add .
git reset --hard HEAD~100
git pull