Question Comment supprimer les fichiers locaux (non-compressés) de l'arbre de travail Git actuel?


Comment supprimez-vous les fichiers locaux non suivis de votre arborescence de travail actuelle?


5776
2017-09-14 09:06


origine


Réponses:


Selon la documentation Git git propre

Supprime les fichiers non suivis de l'arborescence de travail


L'étape 1 consiste à montrer ce qui sera supprimé en utilisant le -n option:

git clean -n

Étape propre - méfiez-vous: cela va supprimer les fichiers:

git clean -f
  • Pour supprimer des répertoires, exécutez git clean -f -d ou git clean -fd
  • Pour supprimer les fichiers ignorés, exécutez git clean -f -X ou git clean -fX
  • Pour supprimer les fichiers ignorés et non ignorés, exécutez git clean -f -x ou git clean -fx

Remarque la différence de cas sur le X pour les deux dernières commandes.

Si clean.requireForce est réglé sur "true" (par défaut) dans votre configuration, il faut spécifier -f sinon rien ne se passera réellement.

Encore une fois voir le git-clean docs pour plus d'informations.

Options

-F

--Obliger

Si la variable de configuration Git clean.requireForce n'est pas définie sur false, git clean refusera de s'exécuter sauf si -f, -n ou -i.

-X

N'utilisez pas les règles d'ignorance standard lues à partir de .gitignore (par répertoire) et de $ GIT_DIR / info / exclude, mais utilisez toujours les règles ignorées fournies avec les options -e. Cela permet de supprimer tous les fichiers non suivis, y compris les produits de construction. Cela peut être utilisé (éventuellement en conjonction avec git reset) pour créer un répertoire de travail vierge pour tester une construction propre.

-X

Ne supprime que les fichiers ignorés par Git. Cela peut être utile pour tout reconstruire à partir de zéro, mais conserver les fichiers créés manuellement.

-n

--dry-run

N'enlevez rien, montrez simplement ce qui serait fait.

-ré

Supprimez les répertoires non suivis en plus des fichiers non suivis. Si un répertoire non suivi est géré par un référentiel Git différent, il n'est pas supprimé par défaut. Utilisez deux fois l'option -f si vous voulez vraiment supprimer un tel répertoire.


7589
2018-05-26 20:59



Utilisation git clean -f -d s'assurer que répertoires sont également supprimés.

Vous pouvez ensuite vérifier si vos fichiers sont vraiment partis git status.


813
2017-12-30 20:12



Je suis surpris que personne ne l'ait mentionné auparavant:

git clean -i

Cela signifie interactif et vous obtiendrez un aperçu rapide de ce qui va être supprimé en vous offrant la possibilité d'inclure / d'exclure les fichiers concernés. Dans l'ensemble, encore plus rapide que l'exécution de l'obligatoire --dry-run avant le vrai nettoyage.

Vous devrez jeter dans un -d si vous voulez également prendre soin des dossiers vides. A la fin, ça fait un joli alias:

git iclean

Cela étant dit, la main supplémentaire de commandes interactives peut être fatigante pour les utilisateurs expérimentés. Ces jours-ci, je viens d'utiliser le déjà mentionné git clean -fd 


396
2017-09-14 09:09



git-clean - Supprimer les fichiers non suivis de l'arbre de travail


387
2018-01-25 12:24



Si le répertoire non suivi est un référentiel git de son propre (par exemple sous-module), vous devez utiliser -f deux fois:

git clean -d -f -f


199
2018-06-03 12:16



Façon simple de supprimer les fichiers non suivis

Pour supprimer tous les fichiers non suivis, Le simple   manière est de ajoutez-les tous en premier et réinitialiser le repocomme ci-dessous

git add --all
git reset --hard HEAD


143
2018-01-11 00:41



J'aime git stash save -u parce que vous pouvez les défaire tous avec git stash pop.

EDIT: Aussi, j'ai trouvé un moyen d'afficher le fichier non suivi dans une cachette (par exemple. git show stash@{0}^3) https://stackoverflow.com/a/12681856/338986


117
2017-11-25 14:16



C'est ce que j'utilise toujours:

git clean -fdx

Pour un très gros projet, vous pouvez l'exécuter plusieurs fois.


92
2017-09-14 09:08