Halten Sie Ihr Git-Verzeichnis sauber mit `git clean` und `git trash`

Haben Sie Ihr Git-Verzeichnis voller nicht verfolgter Dateien und es beginnt Sie zu stören, wenn Sie die Änderungen für die Übergabe auswählen? Nun, ich habe zwei Tipps für dich!

git clean

Dies ist ein eingebauter Befehl, um die nicht verfolgten Dateien aufzuräumen. Seien Sie vorsichtig damit, es löscht Dateien dauerhaft!

Fügen Sie immer die Optionen -n oder --dry-run hinzu, um den Schaden zu sehen, den Sie anrichten! (Quelle)

  • Wenn Sie nur nicht verfolgte Dateien löschen wollen, führen Sie git clean -f
  • Wenn Sie auch Verzeichnisse entfernen wollen, führen Sie git clean -f -d
  • Wenn Sie nur ignorierte Dateien entfernen wollen, git clean -f -X
  • Wenn Sie sowohl ignorierte als auch nicht ignorierte Dateien entfernen möchten, führen Sie git clean -f -x

Beachten Sie, dass es in jedem Beispiel die Option -f / --force gibt, was auf die Standardkonfiguration von git zurückzuführen ist: Wenn die git-Konfigurationsvariable clean.requireForce nicht auf false gesetzt ist, verweigert git clean die Ausführung, es sei denn, es wird -f oder -n angegeben.

git trash

Sanfte Alternative zu git clean. Verschiebt alle unstaged Dateien in das Verzeichnis .trash zur späteren Überprüfung.

Damit dieser Befehl funktioniert, müssen Sie zuerst das Verzeichnis .trash zum lokalen oder globalen .gitignore hinzufügen. Wenn Sie das nicht tun, wird git trash versuchen, den Ordner .trash ebenfalls zu entfernen.

echo ".trash" >> .gitignore

Fügen Sie nun die Git-Verknüpfung trash zu Ihrer globalen Aliase-Liste hinzu:

git config --global alias.trash '!mkdir -p .trash && git ls-files --others --exclude-standard | xargs mv -f -t .trash'

Und Sie sind fertig. Jetzt können Sie git trash in Ihrem Stammverzeichnis des Git-Repositorys ausführen und alle noch nicht bereitgestellten Dateien werden in das Unterverzeichnis .trash verschoben.

Verwandte Tipps:

Entfernen Sie alle lokalen Git-Zweige, aber behalten Sie den Master

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.