Comment supprimer des fichiers locaux (non suivis) de l'arborescence de travail Git actuelle

6844

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

Lecture seulement
la source
86
Cette feuille de triche interactive git ndpsoftware.com/git-cheatsheet.html montre l'espace de travail git (Google vous donne de meilleurs résultats avec "espace de travail" que "copie de travail").
qneill
28
Remarque: si vous souhaitez uniquement supprimer certains fichiers non suivis, mais pas tous , git cleandispose désormais d'un mode interactif ! Voir ma réponse à cette autre question : git 1.8.4+
VonC
17
Notez que vous ne supprimez pas les fichiers de la branche git, car la branche est une référence à un commit et ne contient donc pas de fichiers non suivis. Celles-ci ne sont présentes que dans le répertoire de travail et n'ont rien à voir avec les branches. Ce n'est probablement qu'une clarification de la terminologie.
Pavel Šimerda
6
Pour clarifier la compréhension des non initiés et des nouveaux utilisateurs de Git - exécutez le statut git et s'il affiche un fichier comme non suivi, et que vous ne voulez pas ce fichier dans le référentiel, vous pouvez simplement aller dans votre système de fichiers et le supprimer ou le déplacer . Cela ne fera rien de mal à votre dépôt local ou à Git. Vous pouvez également utiliser git cleanou certaines variations dans les réponses ci-dessous, y compris la version interactive pour supprimer uniquement les fichiers sélectifs, mais le mode interactif peut être fastidieux. Quoi que vous fassiez, assurez-vous de comprendre ce qui git cleansera supprimé ou utilisé --dry-runpour qu'il vous le dise sans rien supprimer.
LightCC
4
Si les fichiers ne sont pas encore suivis, ne pourriez-vous pas simplement les supprimer sans git? rm files-to-be-deleted
mhatch

Réponses:

8735

git-clean - Supprime les fichiers non suivis de l'arborescence de travail

Synopsis

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…​

La description

Nettoie l'arborescence de travail en supprimant récursivement les fichiers qui ne sont pas sous contrôle de version, à partir du répertoire actuel .

Normalement, seuls les fichiers inconnus de Git sont supprimés, mais si l' -xoption est spécifiée, les fichiers ignorés sont également supprimés. Cela peut, par exemple, être utile pour supprimer tous les produits de build.

Si des <path>...arguments facultatifs sont fournis, seuls ces chemins sont affectés.


L'étape 1 consiste à montrer ce qui sera supprimé en utilisant l' -noption:

# Print out the list of files which will be removed (dry run)
git clean -n

Clean Step - méfiez - vous: cela supprimera les fichiers :

# Delete the files from the repository
git clean -f
  • Pour supprimer des répertoires, exécutez git clean -f -dougit clean -fd
  • Pour supprimer des fichiers ignorés, exécutez git clean -f -Xougit clean -fX
  • Pour supprimer des fichiers ignorés et non ignorés, exécutez git clean -f -xougit clean -fx

Notez la différence de casse sur Xles deux dernières commandes.

Si clean.requireForceest défini sur "true" (par défaut) dans votre configuration, il faut spécifier -fsinon rien ne se passera réellement.

Voir à nouveau la git-cleandocumentation pour plus d'informations.


Les options

-f, --force

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

-x

N'utilisez pas les règles d'ignorance standard lues depuis .gitignore (par répertoire) et $GIT_DIR/info/exclude, mais utilisez toujours les règles d'ignorance fournies avec les -eoptions. 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

Supprimez uniquement les fichiers ignorés par Git. Cela peut être utile pour tout reconstruire à partir de zéro, mais conservez les fichiers créés manuellement.

-n, --dry-run

Ne supprimez rien, montrez simplement ce qui serait fait.

-d

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

Ashkan Sirous
la source
288
git clean -fne fonctionne que dans le répertoire où il est appelé (et dans les sous-répertoires). Si vous souhaitez nettoyer l'intégralité de la copie de travail, vous devez l'appeler dans son répertoire racine.
Eduardo Bezerra
17
Il supprime également tous les fichiers à l'intérieur de .gitignore. Je dois supprimer uniquement les fichiers / dossiers qui sont nouveaux et pas dans .gitignore
Kostanos
24
@Kostanos Si vous ne souhaitez pas supprimer les fichiers qui se trouvent dans .gitignore, ne fournissez pas l'indicateur -x.
Lo-Tan
52
git clean -f :/fonctionne comme si vous l'aviez exécuté dans le répertoire racine repo. Voir aussi les réponses ultérieures qui tiennent également compte des sous-modules avecgit clean -ffxd :/
ici
18
@Michelle git clean -xfd SUPPRIMERA ÉGALEMENT TOUS LES FICHIERS ACTUELLEMENT IGNORÉS DANS VOTRE .gitignore et ils ne sont pas récupérables
thedanotto
987

Utilisez git clean -f -dpour vous assurer que les répertoires sont également supprimés.

  1. Ne supprimez rien, montrez simplement ce qui serait fait.

    git clean -n
    

    ou

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

    git clean -fd
    

Vous pouvez ensuite vérifier si vos fichiers ont vraiment disparu git status.

robert.berger
la source
115
Comme indiqué précédemment, il est bon de l' git clean -n -d
essayer
15
La même chose est de faire git clean -ndet git clean -fd.
Micer
478

Je suis surpris que personne n'en ait parlé 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 / exclure les fichiers concernés. Dans l'ensemble, c'est encore plus rapide que d'exécuter la tâche obligatoire --dry-runavant le vrai nettoyage.

Vous devrez ajouter un -dsi vous souhaitez également vous occuper des dossiers vides. Au final, cela donne un joli alias:

git iclean

Cela dit, la prise en main supplémentaire des commandes interactives peut être fatigante pour les utilisateurs expérimentés. Ces jours-ci, j'utilise juste le déjà mentionnégit clean -fd

SystematicFrank
la source
16
@ pal4life Il a été ajouté en 1.8.4, vous utilisez peut-être une ancienne version de git? github.com/git/git/blob/master/Documentation/RelNotes/1.8.4.txt
Mattias Backman
J'aime ça - je suis plus à l'aise de l'avoir dans mon historique de bash que n'importe quelle autre option, car ce n'est pas grave si je le ctrl-r ou le ctrl-p accidentellement.
csvoss
Serait-ce que git clean -i ne fonctionne que s'il est appelé à partir de la racine de la copie de travail?
Alessandro Jacopson
250

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

git clean -d -f -f

Michał Szajbe
la source
4
BTW, ceci est écrit dans la documentation : Git refusera de supprimer les répertoires avec le sous-répertoire ou fichier .git à moins qu'un second -f ne soit donné. Mais merci quand même!
Maxim Suslov
248

Un moyen simple de supprimer les fichiers non suivis

Pour supprimer tous les fichiers non suivis, le moyen le plus simple consiste à les ajouter tous en premier et à réinitialiser le référentiel comme ci-dessous

git add --all
git reset --hard HEAD

Thanga
la source
8
Vous pouvez remplacer git add --all par git add .. Vous pouvez donc le faire de manière plus courte en ligne git add . && git reset --hard HEAD (soyez très prudent avec cette commande) .
RousseauAlexandre
22
Pourquoi l'utiliser plus git clean?
user2864740
8
Parce git cleanqu'apparemment, supprime également tout ce qui est ignoré. Il vient de supprimer mon node_modulesdossier. Faire cela commencerait par l'étape tous les fichiers à l'exception de ceux ignorés, puis les supprimer en faisant une réinitialisation. Les fichiers ignorés ne seront pas touchés.
Andreas
5
@Andreas ne supprime pas les fichiers ignorés pour moi (git 2.14.1). Vous devriezgit clean -n quand même exécuter avant de supprimer (ou utilisergit clean -i ).
Qw3ry
8
git cleansupprime les fichiers ignorés uniquement si vous utilisez l' option -xou -X, sinon il supprime simplement les fichiers non suivis.
doubleDown
140

J'aime git stash push -uparce que vous pouvez tous les annuler avec git stash pop.

EDIT: J'ai également 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

EDIT2: git stash saveest déconseillé en faveur de push. Merci @ script-wolf.

Hiroshi
la source
3
Pouvez-vous expliquer le -u sur la cachette? Je ne comprends pas comment cela fonctionne différemment de git stash save. Je l'ai essayé et ça marche. J'ai regardé sur git docs et je n'ai pas pu le trouver non plus.
Winnemucca
9
-uest équivalent à --include-untracked. Vous pouvez trouver une aide avec git help stash.
hiroshi
3
@hiroshi Merci! après avoir essayé chaque solution sacrément d'une douzaine de personnes différentes, c'est celle qui a finalement fonctionné ... ouf! Même une cachette git a fait nada. La sauvegarde - a pris soin de non suivi. reset hard / clean force / etc aucun de ceux-ci n'a rien fait pour moi.
killjoy
3
L' saveoption a été déconseillée en faveur de push, qui fait de même mais en plus. Vous pouvez en savoir plus ici, /programming/44680028/whats-the-difference-between-git-stash-save-and-git-stash-push/44681952
Script Wolf
120

C'est ce que j'utilise toujours:

git clean -fdx

Pour un très gros projet, vous voudrez peut-être l'exécuter plusieurs fois.

Oscar Fraxedas
la source
@Martin L'un des projets sur lesquels je travaille a +8 ans et +80 développeurs codent activement. Git échoue parfois à le nettoyer lors de la première passe.
Oscar Fraxedas
1
Je peux le confirmer, donc cela est toujours valable en 2020. Nous travaillons également sur un grand projet et j'ai dû l'exécuter 4 à 5 fois jusqu'à ce que GIT ne trouve plus de fichiers à supprimer.
turbolocust
90

git-clean est ce que vous recherchez. Il est utilisé pour supprimer les fichiers non suivis de l'arborescence de travail.

Espo
la source
86

Si nécessaire pour supprimer des fichiers non suivis d'un sous-répertoire particulier,

git clean -f {dir_path}

Et moyen combiné de supprimer les fichiers / répertoires non suivis et les fichiers ignorés.

git clean -fxd {dir_path}

après cela, vous n'aurez modifié les fichiers qu'en git status.

Vijay C
la source
68

Supprimez tous les dossiers et fichiers supplémentaires dans ce repo + sous-modules

Cela vous met dans le même état que le clone frais.

git clean -ffdx

Supprimez tous les dossiers et fichiers supplémentaires de ce référentiel, mais pas ses sous-modules

git clean -fdx

Supprimez les dossiers supplémentaires mais pas les fichiers (ex. Dossier de build ou de journaux)

git clean -fd

Supprimer les dossiers supplémentaires + les fichiers ignorés (mais pas les fichiers nouvellement ajoutés)

Si le fichier n'a pas été ignoré et n'est pas encore enregistré, il reste. Notez le X majuscule.

git clean -fdX

Nouveau mode interactif

git clean
Shital Shah
la source
57

git clean -fd supprime le répertoire

git clean -fX supprime les fichiers ignorés

git clean -fx supprime les fichiers ignorés et non ignorés

peut être utilisé toutes les options ci-dessus en combinaison comme

git clean -fdXx

consultez le manuel de git pour plus d'aide

Pooja
la source
10
La commande git clean -fdXxgénère le message d'erreur "fatal: -x et -X ne peuvent pas être utilisés ensemble" (en utilisant git-2.8). Pour votre dernière phrase dans votre réponse, veuillez fournir un lien vers le manuel git. Vive
olibre
exécutez les deux commandes dans l'ordre: git clean -fdX, git clean -fdx
Clock ZHONG
55

OK, la suppression des fichiers et dossiers indésirables non suivis est facile à utiliser giten ligne de commande, faites-le comme ceci:

git clean -fd

Revérifier avant de le faire car cela supprimera les fichiers et les dossiers sans faire d'historique ...

Dans ce cas également, -fsignifie force et-d répertoire ...

Donc, si vous souhaitez supprimer uniquement des fichiers, vous ne pouvez utiliser -fque:

git clean -f

Si vous souhaitez supprimer (répertoires) et fichiers, vous ne pouvez supprimer que les répertoires et fichiers non suivis comme ceci:

git clean -fd

De plus, vous pouvez utiliser -xflag pour inclure les fichiers qui sont ignorés par git. Ce serait utile si vous souhaitez tout supprimer.

Et en ajoutant un -iindicateur, git vous demande la permission de supprimer les fichiers un par un en déplacement.

Si vous n'êtes pas sûr et souhaitez d'abord vérifier les choses, ajoutez un -nindicateur.

À utiliser -qsi vous ne souhaitez voir aucun rapport après une suppression réussie.

Je crée également l'image ci-dessous pour la rendre plus mémorable, surtout j'ai vu beaucoup de gens -fparfois confondre pour nettoyer le dossier ou le mélanger d'une manière ou d'une autre!


suppression des fichiers et dossiers indésirables non suivis

Alireza
la source
Qu'est-ce que cette image?
Pacerier
37

Une meilleure façon est d'utiliser: git clean

git clean -d -x -f

Cela supprime les fichiers non suivis, y compris les répertoires (-d)et les fichiers ignorés pargit (-x) .

Remplacez également l' -fargument par -npour effectuer un dry-runou -ipour le mode interactif et il vous indiquera ce qui sera supprimé.

Chhabilal
la source
25

Approche interactive 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/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/arsdumpgenerator/s3/ [y/N]? y

-i pour interactif
-f pour forcer
-d pour répertoire
-x pour les fichiers ignorés (ajouter si nécessaire)

Remarque: Ajoutez -n ou --dry-run pour vérifier simplement ce qu'il fera.

bit_cracker007
la source
20

Un lifehack pour une telle situation que je viens d'inventer et d'essayer (qui fonctionne parfaitement):

git add .
git reset --hard HEAD

Il faut se méfier! Assurez-vous de valider toutes les modifications nécessaires (même dans les fichiers non suivis) avant d'effectuer cette opération .

thybzi
la source
3
Au moins, c'est une approche différente. :) Une autre façon, qui se souviendrait des fichiers supprimés dans le reflog mais pas dans les branches, serait:git add . git commit -m 'about to delete' git reset --hard HEAD~
joeytwiddle
2
encore plus rapide estgit add . && git reset --hard HEAD
thybzi
3
git add . && git reset --hard
Pleymor
Ce n'est peut-être pas ce que vous voulez s'il y a aussi des changements que vous souhaitez valider.
lacostenycoder du
@AlexanderMills git reset --hardréinitialise toutes les modifications non validées MAIS LES FICHIERS NON SUIVIS à l'état de la dernière validation. C'est pourquoi nous avons d'abord besoin git add .- qui met en scène tous les fichiers non suivis (donc ils sont également réinitialisés)
thybzi
19

git clean -f -d -x $(git rev-parse --show-cdup)s'applique propre au répertoire racine, peu importe où vous l'appelez dans une arborescence de répertoires de référentiel. Je l'utilise tout le temps car cela ne vous oblige pas à quitter le dossier où vous travaillez maintenant et permet de nettoyer et de valider directement de l'endroit où vous êtes.

Assurez - vous que les drapeaux -f, -d, -xcorrespondent à vos besoins:

-d
       Remove untracked directories in addition to untracked files. If an
       untracked directory is managed by a different Git repository, it is
       not removed by default. Use -f option twice if you really want to
       remove such a directory.

-f, --force
       If the Git configuration variable clean.requireForce is not set to
       false, git clean will refuse to delete files or directories unless
       given -f, -n or -i. Git will refuse to delete directories with .git
       sub directory or file unless a second -f is given. This affects
       also git submodules where the storage area of the removed submodule
       under .git/modules/ is not removed until -f is given twice.

-x
       Don't use the standard ignore rules read from .gitignore (per
       directory) and $GIT_DIR/info/exclude, but do still use the ignore
       rules given with -e options. This allows removing all untracked
       files, including build products. This can be used (possibly in
       conjunction with git reset) to create a pristine working directory
       to test a clean build.

Il y a d'autres drapeaux également disponibles, vérifiez simplement git clean --help.

Nikita Leonov
la source
BTW, vous pouvez simplement faire git clean {flags}: / ce sera comme si vous exécutiez la commande dans la racine du
référentiel
19

Pour moi, seuls les suivants ont travaillé:

git clean -ffdx

Dans tous les autres cas, je recevais le message "Skipping Directory" pour certains sous-répertoires.

rahul286
la source
2
Merci. J'ai laissé de côté le -xet juste utilisé git clean -ffdpour éviter d'effacer les fichiers dans le .gitignore.
Feckmore
15

Si vous souhaitez simplement supprimer les fichiers répertoriés comme non suivis par 'git status'

git stash save -u
git stash drop "stash@{0}"

Je préfère cela à «git clean» car «git clean» supprimera les fichiers ignorés par git, donc votre prochaine génération devra tout reconstruire et vous risquez également de perdre vos paramètres IDE.

jazzdev
la source
3
Cela supprimera également les modifications valides apportées aux fichiers suivis. Je ne le recommanderais pas.
code_dredd
2
Oui, vous souhaitez d'abord valider les modifications apportées aux fichiers suivis.
jazzdev
14

Pour savoir ce qui sera supprimé avant de supprimer réellement:

git clean -d -n

Il produira quelque chose comme:

Supprimerait sample.txt

Pour supprimer tout ce qui est répertorié dans la sortie de la commande précédente:

git clean -d -f

Il produira quelque chose comme:

Suppression de sample.txt

Omar Mowafi
la source
11

Pour supprimer les fichiers non suivis, vous devez d'abord utiliser la commande pour afficher les fichiers qui seront affectés par le nettoyage

git clean -fdn

Cela vous montrera la liste des fichiers qui seront supprimés. Maintenant, pour supprimer réellement ces fichiers, utilisez cette commande:

git clean -fd
Gaurav
la source
11

Soyez prudent lorsque vous exécutez la commande `git clean`.

Utilisez toujours -n avant d'exécuter la commande réelle car elle vous montrera quels fichiers seront supprimés.

git clean -n -d 
git clean -f -d

Par défaut, git cleanne supprimera que les fichiers non suivis qui ne sont pas ignorés. Tout fichier qui correspond à un modèle dans votre .gitignore ou tout autre fichier ignoré ne sera pas supprimé. Si vous souhaitez également supprimer ces fichiers, vous pouvez ajouter un -xà la commande clean.

git clean -f -d -x

Un mode interactif est également disponible -iavec la commande clean

git clean -x -i

Alternativement

Si vous n'êtes pas sûr à 100% que la suppression de votre travail non engagé est sûre, vous pouvez utiliser le masquage à la place

git stash --all

Il effacera également votre répertoire mais vous donnera la possibilité de récupérer les fichiers à tout moment en utilisant stash avec apply ou pop . Plus tard, vous pourrez vider votre cachette en utilisant:

git stash drop // or clean
DevWL
la source
2
la cachette est une bonne idée, mais vous voudrez peut-être l'utilisergit stash save and type some comment as to what this stash was for
lacostenycoder
9

uggested Command for Removing Untracked Files from git docs is git clean

git clean - Supprime les fichiers non suivis de l'arborescence de travail

Méthode suggérée: mode interactif en utilisant git clean -i afin que nous puissions avoir le contrôle sur celui-ci. laissez voir les options disponibles restantes.

Options disponibles:

git clean 
    -d -f -i -n -q -e -x -X (can use either)

Explication:

1. -d

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

2. -f, --force

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

3. -i, --interactif

Montrez ce qui serait fait et nettoyez les fichiers de manière interactive. Voir «Mode interactif» pour plus de détails.

4. -n, --dry-run

Ne supprimez rien, montrez simplement ce qui serait fait.

5. -q, --quiet

Soyez silencieux, ne signalez que les erreurs, mais pas les fichiers qui ont été supprimés avec succès.

6. -e, --exclure =

En plus de ceux trouvés dans .gitignore (par répertoire) et $ GIT_DIR / info / exclude, considérez également ces modèles comme faisant partie de l'ensemble des règles d'ignorance en vigueur.

7. -x

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

8. -X

Supprimez uniquement les fichiers ignorés par Git. Cela peut être utile pour tout reconstruire à partir de zéro, mais conservez les fichiers créés manuellement.

Mohideen bin Mohammed
la source
Je pense que vous avez une faute de frappe uggestedmais ce n'est qu'un " uggestionlol
lacostenycoder
8

La git cleancommande normale ne supprime pas les fichiers non suivis avec mon git version 2.9.0.windows.1.

$ git clean -fdx     # doesn't remove untracked files
$ git clean -fdx *   # Append star then it works!
kujiy
la source
7

Nous pouvons facilement supprimer les fichiers locaux non suivis de l'arborescence de travail git actuelle en utilisant les commentaires git ci-dessous.

git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

Exemple:

git reset --hard HEAD

Liens :

  1. https://git-scm.com/docs/git-reset
  2. Comment utiliser «git reset --hard HEAD» pour revenir à un commit précédent?
  3. Réinitialiser la branche du référentiel local pour qu'elle soit comme le référentiel distant HEAD
  4. https://jwiegley.github.io/git-from-the-bottom-up/3-Reset/4-doing-a-hard-reset.html
Elangovan
la source
Cela supprimera également les modifications mises en scène pour la validation, non seulement les fichiers non suivis, qui peuvent ne pas être ce que vous voulez.
rauque
Ne fonctionne pas: laisse quelques fichiers. git clean -ffdxest la solution
Eugene Gr. Philippov
7

Nettoyer récursivement le référentiel git et tous les sous-modules

La commande suivante nettoiera récursivement le dépôt git actuel et tous ses sous-modules:

(git clean -d -x -f && git submodule foreach --recursive git clean -d -x -f)
Sergey
la source
cela doit sûrement être utilisé avec beaucoup de prudence
lacostenycoder
6
git clean -f

supprimera les fichiers non suivis du git actuel

git clean -fd

lorsque vous souhaitez supprimer des répertoires et des fichiers, cela supprimera uniquement les répertoires et fichiers non suivis

Sudhir Vishwakarma
la source
5

oh-my-zsh avec zsh fournit ces grands alias via le plugin git. Ils peuvent également être utilisés en bash.

gclean='git clean -fd'
gpristine='git reset --hard && git clean -dfx'

  • gclean supprime les répertoires non suivis en plus des fichiers non suivis .
  • gpristineRéinitialisez les modifications locales, supprimez les répertoires non suivis, les fichiers non suivis et n'utilisez pas les règles d'ignorance standard lues dans .gitignore (par répertoire) et $ GIT_DIR / info / exclude, mais utilisez toujours les règles d'ignorance 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 .
ZenLulz
la source
2
Merci pour vos commentaires, ma déclaration était déroutante. Je voulais dire que les alias en surbrillance sont automatiquement fournis avec oh-my-zsh. Ils fonctionnent évidemment très bien bash. J'ai modifié ma réponse pour refléter cela.
ZenLulz
4

J'aime utiliser la git stashcommande, plus tard, vous pouvez obtenir des fichiers et des modifications cachés. git cleanest également une bonne option mais dépend totalement de vos besoins. voici l'explication de git stash et git clean, 7.3 Git Tools - Stashing and Cleaning

Zia
la source