J'utilise Git pour le contrôle de version. Maintenant, je veux supprimer sur mon ordinateur local tous les fichiers du référentiel qui ne sont pas suivis.
je peux utiliser
git status
pour répertorier ces fichiers, mais comment puis-je les supprimer tous?
Réponses:
Si vous avez ignorer, utilisez
git clean -xf
. Vous pouvez le faire,git clean -df
mais cela supprimera également les répertoires non suivis. Utilisez-n
pour un essai à sec.Voir le nettoyage sans suivi
la source
-xf
va supprimer et les fichiers ignorés et ce n'est probablement pas ce que vous voulez. Utilisez-nf
et procédez avec soin. Voir: stackoverflow.com/questions/61212/…la source
Approche interactive de l'utilisateur:
-i pour interactive
-f pour le fichier
-d pour le répertoire
Remarque: Ajoutez -n ou --dry-run pour vérifier simplement ce qu'il va faire.
la source
Il convient de mentionner une subtilité à propos des
git clean -f
fichiers et des répertoires non suivis. Si vous avez un répertoire non suivi qui contient des fichiers a fortiori non suivis, vousgit clean -f
ne supprimerez PAS ces fichiers non suivis.En d'autres termes, ce n'est PAS toujours le cas qui
git clean -f
supprimera tous les fichiers non suivis. Une meilleure explicationgit clean -f
est qu'il supprime tous les fichiers non suivis qui ne se trouvent pas dans des répertoires non suivis.git clean -f -d
doit être utilisé pour supprimer les fichiers non suivis qui se trouvent dans des répertoires non suivis et il semble n'y avoir aucun moyen de supprimer tous les fichiers non suivis sans supprimer également les répertoires non suivis ne contenant que des fichiers non suivis.Utilisez
git clean -f -d -n
pour voir VRAIMENT ce que vous voulez faire pour restaurer votre répertoire de travail tel qu’il serait sans les fichiers non suivis. Alors utilisezgit clean -f -d
pour faire ça.la source