Git: Wie lösche ich alle nicht verfolgten Dateien?
40
Ich benutze Git für die Versionskontrolle. Jetzt möchte ich auf meinem lokalen Rechner alle Dateien im Repository löschen, die nicht nachverfolgt werden.
ich kann nutzen
git status
um diese Dateien aufzulisten, aber wie kann ich alle löschen?
Können Sie nicht einfach alle Dateien an einem anderen Ort auf Ihrem Computer auschecken und dann die alte Version löschen?
Nifle
1
Sicher kann ich, aber gibt es keinen einfacheren Weg?
RoflcoptrException
Antworten:
55
Wenn Sie es ignorieren, verwenden Sie git clean -xf. Sie können dies git clean -dfaber auch tun , um nicht verfolgte Verzeichnisse zu entfernen. Verwenden Sie -nfür einen Trockenlauf.
-xflöscht und ignoriert die Dateien und das ist wahrscheinlich NICHT was du willst. Verwenden -nfund vorsichtig vorgehen. Siehe: stackoverflow.com/questions/61212/…
Mr_and_Mrs_D
2
Denken Sie daran, dies kann Ihre Umgebung / IDE-Ordner entfernen (zB .vagrant oder .idea (phpstorm))
timhc22
1
ACHTUNG! gitignored Dateien werden für immer gelöscht. -100
Es kann sinnvoll sein, die Bedeutung dieses Befehls hinzuzufügen, um diese Antwort in sich geschlossen zu machen.
NN
5
Benutzerinteraktiver Ansatz:
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 für interaktive
-f für Datei
-d für Verzeichnis
Hinweis: In -n oder --dry geführten nur überprüfen , was es tun wird.
git clean -fGegenüber nicht nachverfolgten Dateien und Verzeichnissen ist eine Feinfühligkeit zu erwähnen . Wenn Sie ein nicht verfolgtes Verzeichnis haben, das Dateien enthält, die erst recht nicht verfolgt wurden, git clean -fwerden diese nicht verfolgten Dateien NICHT gelöscht.
Mit anderen Worten, es ist NICHT immer der Fall, dass git clean -falle nicht verfolgten Dateien gelöscht werden. Eine bessere Erklärung git clean -fist, dass alle nicht verfolgten Dateien gelöscht werden, die sich nicht in nicht verfolgten Verzeichnissen befinden.
git clean -f -dmuss verwendet werden, um nicht verfolgte Dateien zu löschen, die sich in nicht verfolgten Verzeichnissen befinden, und es scheint keine Möglichkeit zu geben, alle nicht verfolgten Dateien zu löschen, ohne auch nicht verfolgte Verzeichnisse zu löschen , die nur nicht verfolgte Dateien enthalten.
Verwenden Sie git clean -f -d -ndiese Option, um WIRKLICH zu sehen, was Sie tun möchten, um das Arbeitsverzeichnis ohne nicht überwachte Dateien wiederherzustellen. Dann benutze git clean -f -d, um das zu tun.
Antworten:
Wenn Sie es ignorieren, verwenden Sie
git clean -xf
. Sie können diesgit clean -df
aber auch tun , um nicht verfolgte Verzeichnisse zu entfernen. Verwenden Sie-n
für einen Trockenlauf.Siehe Aufräumen ohne Verfolgung
quelle
-xf
löscht und ignoriert die Dateien und das ist wahrscheinlich NICHT was du willst. Verwenden-nf
und vorsichtig vorgehen. Siehe: stackoverflow.com/questions/61212/…quelle
Benutzerinteraktiver Ansatz:
-i für interaktive
-f für Datei
-d für Verzeichnis
Hinweis: In -n oder --dry geführten nur überprüfen , was es tun wird.
quelle
git clean -f
Gegenüber nicht nachverfolgten Dateien und Verzeichnissen ist eine Feinfühligkeit zu erwähnen . Wenn Sie ein nicht verfolgtes Verzeichnis haben, das Dateien enthält, die erst recht nicht verfolgt wurden,git clean -f
werden diese nicht verfolgten Dateien NICHT gelöscht.Mit anderen Worten, es ist NICHT immer der Fall, dass
git clean -f
alle nicht verfolgten Dateien gelöscht werden. Eine bessere Erklärunggit clean -f
ist, dass alle nicht verfolgten Dateien gelöscht werden, die sich nicht in nicht verfolgten Verzeichnissen befinden.git clean -f -d
muss verwendet werden, um nicht verfolgte Dateien zu löschen, die sich in nicht verfolgten Verzeichnissen befinden, und es scheint keine Möglichkeit zu geben, alle nicht verfolgten Dateien zu löschen, ohne auch nicht verfolgte Verzeichnisse zu löschen , die nur nicht verfolgte Dateien enthalten.Verwenden Sie
git clean -f -d -n
diese Option, um WIRKLICH zu sehen, was Sie tun möchten, um das Arbeitsverzeichnis ohne nicht überwachte Dateien wiederherzustellen. Dann benutzegit clean -f -d
, um das zu tun.quelle