Frage Wie entferne ich lokale (nicht geordnete) Dateien aus dem aktuellen Git-Arbeitsbaum?


Wie löschen Sie nicht verfolgte lokale Dateien aus Ihrem aktuellen Arbeitsbaum?


5776
2017-09-14 09:06


Ursprung


Antworten:


Wie in der Git-Dokumentation git sauber

Entfernen Sie nicht verfolgte Dateien aus dem Arbeitsbaum


Schritt 1 zeigt, was gelöscht wird, wenn Sie die Taste drücken -n Möglichkeit:

git clean -n

Sauberer Schritt - Vorsicht: Dadurch werden Dateien gelöscht:

git clean -f
  • Um Verzeichnisse zu entfernen, starte git clean -f -d oder git clean -fd
  • Um ignorierte Dateien zu entfernen, führen Sie git clean -f -X oder git clean -fX
  • Um ignorierte und nicht ignorierte Dateien zu entfernen, führen Sie sie aus git clean -f -x oder git clean -fx

Hinweis der Fallunterschied auf der X für die beiden letzteren Befehle.

Ob clean.requireForce in Ihrer Konfiguration auf "true" (der Standardwert) gesetzt ist, muss angegeben werden -f sonst wird nichts passieren.

Siehe auch die git-clean Dokumente für weitere Informationen.

Optionen

-f

--Macht

Wenn die Git-Konfigurationsvariable clean.requireForce nicht auf false gesetzt ist, wird git clean nur dann ausgeführt, wenn -f, -n oder -i angegeben wurde.

-x

Verwenden Sie nicht die Standard-Ignorierregeln, die aus .gitignore (pro Verzeichnis) und $ GIT_DIR / info / exclude gelesen werden, sondern verwenden Sie weiterhin die Ignorierregeln, die mit den Optionen -e angegeben werden. Dies ermöglicht das Entfernen aller nicht verfolgten Dateien, einschließlich der Build-Produkte. Dies kann verwendet werden (möglicherweise in Verbindung mit git reset), um ein fehlerfreies Arbeitsverzeichnis zum Testen eines sauberen Builds zu erstellen.

-X

Entferne nur von Git ignorierte Dateien. Dies kann nützlich sein, um alles von Grund auf neu zu erstellen, aber manuell erstellte Dateien zu behalten.

-n

--Probelauf

Entferne nichts, zeige nur, was getan werden würde.

-d

Entfernen Sie nicht verfolgte Verzeichnisse zusätzlich zu nicht verfolgten Dateien. Wenn ein nicht verfolgtes Verzeichnis von einem anderen Git-Repository verwaltet wird, wird es nicht standardmäßig entfernt. Verwenden Sie die Option -f zweimal, wenn Sie ein solches Verzeichnis wirklich entfernen möchten.


7589
2018-05-26 20:59



Benutzen git clean -f -d um sicherzustellen, dass Verzeichnisse werden auch entfernt.

Sie können dann überprüfen, ob Ihre Dateien wirklich verschwunden sind git status.


813
2017-12-30 20:12



Ich bin überrascht, dass das vorher noch niemand erwähnt hat:

git clean -i

Das steht für interaktiv und Sie erhalten einen schnellen Überblick darüber, was gelöscht werden soll und Ihnen die Möglichkeit bietet, die betroffenen Dateien ein- oder auszuschließen. Insgesamt immer noch schneller als das obligatorische --dry-run vor der eigentlichen Reinigung.

Sie müssen ein werfen -d wenn Sie auch auf leere Ordner achten wollen. Am Ende macht es einen netten Alias:

git iclean

Nichtsdestotrotz kann das zusätzliche Halten von interaktiven Befehlen für erfahrene Benutzer ermüdend sein. In diesen Tagen benutze ich einfach das bereits Erwähnte git clean -fd 


396
2017-09-14 09:09



git-clean - Entfernen Sie nicht verfolgte Dateien aus dem Arbeitsbaum


387
2018-01-25 12:24



Wenn das nicht verfolgte Verzeichnis ein eigenes Git-Repository (z. B. Submodul) ist, müssen Sie es verwenden -f zweimal:

git clean -d -f -f


199
2018-06-03 12:16



Einfacher Weg, um nicht verfolgte Dateien zu entfernen

Um alle nicht aufgezeichneten Dateien zu entfernen, The simple   Weg ist zu füge sie alle zuerst hinzu und Setzen Sie das Repo zurückwie nachstehend

git add --all
git reset --hard HEAD


143
2018-01-11 00:41



ich mag git stash save -u weil Sie sie alle mit rückgängig machen können git stash pop.

EDIT: Ich habe auch einen Weg gefunden, um nicht verfolgte Dateien in einem Versteck (z. git show stash@{0}^3) https://stackoverflow.com/a/12681856/338986


117
2017-11-25 14:16