Question git reset --hard HEAD laisse les fichiers non-suivis derrière


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"?


415
2017-12-01 18:26


origine


Réponses:


Vous devez utiliser git clean -f -d pour se débarrasser des fichiers et des répertoires non suivis dans votre copie de travail.


666
2017-12-01 18:28



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.


46
2018-06-23 16:55



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


23
2017-07-09 15:29



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.


7
2018-06-14 04:07



La commande que vous recherchez est git clean


1
2017-12-02 20:10



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

-12
2018-06-26 18:34