Git Clean: Unverfolgte Dateien entfernen und Repos aufgeräumt halten
Master git clean, um nicht getrackte Dateien und Verzeichnisse sicher zu entfernen. Erfahre die wichtigsten Optionen, den interaktiven Modus und die besten Methoden, um Datenverluste zu vermeiden.
Wenn du an einem Git-Repository arbeitest, sammeln sich häufig nicht verfolgte Dateien und Verzeichnisse an, die nicht Teil des Versionskontrollsystems des Repositorys sind. Dazu können temporäre Dateien, Build-Artefakte oder andere lokal erstellte Dateien gehören, die nicht übertragen werden. Mit der Zeit können diese Dateien das Arbeitsverzeichnis unübersichtlich machen, was es schwieriger macht, einen sauberen und organisierten Arbeitsbereich zu erhalten.
Um dieses Problem zu lösen, gibt es in Git den Befehl git clean, mit dem nicht verfolgte Dateien und Verzeichnisse entfernt werden. In diesem Leitfaden zeige ich dir, wie du git clean sicher nutzen kannst, welche Optionen es gibt und wie du am besten vorgehst, um unbeabsichtigtes Löschen von Dateien zu vermeiden und dein Git-Repository aufgeräumt zu halten. Zum weiteren Lernen empfehle ich unsere Kurse Foundations of Git und Introduction to GitHub Concepts, um mehr über Versionskontrolle und den Unterschied zwischen Git und GitHub zu erfahren.
Git Clean verstehen
Der Befehl git clean ist ein nützliches Werkzeug in Git, mit dem nicht verfolgte Dateien aus dem Arbeitsverzeichnis entfernt werden. Der Befehl git clean ist nützlich, wenn du dein Arbeitsverzeichnis auf einen ursprünglichen Zustand zurücksetzen musst, z.B. vor dem Wechsel von Zweigen oder nach der Ausführung von Build-Prozessen, die temporäre Dateien erzeugen. Der Befehl git clean sollte jedoch mit Vorsicht verwendet werden, da er nicht verfolgte Dateien und Verzeichnisse dauerhaft löscht, ohne sie in einen Papierkorb zu verschieben.
Im Gegensatz zu git reset oder git checkout, die verfolgte Dateien verändern, befasst sich git clean ausschließlich mit Dateien und Verzeichnissen, die nicht unter Versionskontrolle stehen. Dazu gehören:
Temporäre Dateien, die durch Builds erstellt werden
Log-Dateien oder zwischengespeicherte Daten
Dateien, die in .gitignore aufgelistet sind (wenn explizit mit -x angegeben)
Der Befehl git clean ist nützlich, um ein aufgeräumtes Arbeitsverzeichnis zu erhalten und ergänzt andere Git-Befehle wie git reset und git checkout, die Änderungen in getrackten Dateien verwalten.
Der Befehl git clean ist ein nützliches Werkzeug, um ein sauberes Arbeitsverzeichnis zu erhalten. Im Folgenden sind einige häufige Anwendungsfälle aufgeführt, in denen git clean unnötige Dateien und Verzeichnisse sicher entfernen kann.
Entfernen von nicht verfolgten Dateien
Wenn du in einem Git-Repository arbeitest, können sich mit der Zeit nicht verfolgte Dateien ansammeln. Die folgenden Optionen helfen, sie zu entfernen:
git clean -f: Erzwingt das Entfernen von nicht verfolgten Dateien.
git clean -fd: Entfernt nicht verfolgte Dateien und nicht verfolgte Verzeichnisse.
git clean -fx: Entfernt nicht verfolgte und ignorierte Dateien, wie die in .gitignore aufgeführten.
Du solltest jedoch vorsichtig sein, wenn du die Option -fx verwendest, da sie auch ignorierte Dateien löscht. Überprüfe immer mit einem Trockenlauf (git clean -n), bevor du den Befehl ausführst.
Interaktiver Modus
Der Befehl git clean -i ermöglicht einen interaktiven Modus, in dem du nicht verfolgte Dateien selektiv entfernen kannst. Dieser Modus ist nützlich, wenn du mehr Kontrolle darüber haben willst, welche Dateien oder Verzeichnisse gelöscht werden.
Angenommen, du arbeitest an einem Projekt, bei dem du die Änderungen bereits im Ordner Olympics gespeichert hast. Du hast jedoch neue Datenquellen mit den Namen 2024_Data, und 2025_Data hinzugefügt. Wenn du den Befehl git clean -i ausführst, erhältst du eine Eingabeaufforderung, in der du aus den folgenden Optionen wählen kannst, um die nicht verfolgten Änderungen zu löschen.
clean: Ausgewählte Dateien entfernen
filter: Gib ein Muster für zu bereinigende Dateien an
select: Einzelne Dateien nach Nummer auswählen
quit: Beenden, ohne etwas zu löschen
git clean -i interaktiver Modus. Bild vom Autor.
Trockenübung zur Sicherheit
Die Option git clean -n ist eine nützliche Sicherheitsmaßnahme, da sie einen "Trockenlauf" durchführt und eine Liste der nicht verfolgten Dateien und Verzeichnisse anzeigt, die entfernt werden würden, ohne sie tatsächlich zu löschen. So kannst du die Änderungen überprüfen, bevor du sie ausführst.
Im folgenden Beispiel listet der Befehl git clean -n die Dateien auf, die gelöscht werden sollen, löscht sie aber nicht.
git clean -n für einen Trockenlauf. Bild vom Autor.
Kombinieren mit git reset
Um ein Git-Arbeitsverzeichnis vollständig zurückzusetzen, kannst du git reset and git clean wo kombinieren:
git reset --hard: Setzt verfolgte Dateien auf den letzten übertragenen Zustand zurück und verwirft alle lokalen Änderungen.
git clean -fd: Entfernt nicht verfolgte Dateien und Verzeichnisse und hinterlässt nur übertragene Dateien.
Diese Kombination sorgt für ein komplett sauberes Arbeitsverzeichnis und ist nützlich, wenn du den Zweig wechselst, experimentelle Änderungen rückgängig machst oder einen Neustart vorbereitest.
Schritt-für-Schritt-Anleitung für die Verwendung von git clean
Befolge diese Schritte, um dein Git-Repository sicher zu bereinigen und unerwünschte, nicht verfolgte Dateien und Verzeichnisse zu entfernen.
Schritt 1: Prüfe den aktuellen Status
Bevor du die Bereinigung durchführst, solltest du git status ausführen, um den aktuellen Status deines Repositorys zu überprüfen und zu sehen, welche Dateien nicht getrackt sind.
Schritt 6: Benutze den interaktiven Modus für die selektive Reinigung
Für mehr Kontrolle kannst du git clean -i für die interaktive Entfernung verwenden. In diesem Modus kannst du auswählen, welche Dateien einzeln gelöscht werden sollen.
git clean -i interaktiver Modus für selektive Reinigung. Bild vom Autor.
git clean vs. Andere Git-Befehle
Der Befehl git clean wird oft mit anderen Git-Befehlen verglichen, die Dateien verändern oder zurücksetzen. In der folgenden Tabelle sind die wichtigsten Unterschiede aufgeführt:
Befehl
Funktion
git clean
Entfernt nicht verfolgte Dateien und Verzeichnisse dauerhaft.
git reset
Setzt verfolgte Dateien auf einen früheren Zustand zurück, was sich auf bereitgestellte und übertragene Änderungen auswirkt.
git checkout (oder git restore)
Verwirft Änderungen in verfolgten Dateien, entfernt sie aber nicht.
git stash
Speichert sowohl verfolgte als auch nicht verfolgte Änderungen vorübergehend zur späteren Verwendung.
Git Clean Best Practices
Um git clean sicher und effektiv zu nutzen, befolge diese bewährten Methoden:
Verwende Trockenübungen (-n) vor dem Löschen: Verwende immer die Option git clean -n, um einen Trockenlauf durchzuführen, bevor du git clean ausführst. So kannst du in der Vorschau sehen, welche Dateien entfernt werden, ohne sie tatsächlich zu löschen.
Achte auf ignorierte Dateien: Wenn du git clean verwendest, sei vorsichtig mit der Option -x, die ignorierte Dateien entfernt. Dadurch können möglicherweise wichtige Konfigurationsdateien gelöscht werden, die unter .gitignore aufgeführt sind. Wenn du ignorierte Dateien entfernen musst, verwende den Befehl git clean -fx.
Kombiniere mit Git Reset für eine vollständige Bereinigung: Um dein Repository komplett zurückzusetzen, kombiniere git reset mit git clean, wobei git reset --hard die getrackten Dateien auf ihren letzten Commit-Status zurücksetzt und git clean -fd die nicht getrackten Dateien und Verzeichnisse entfernt.
Verwende den interaktiven Modus (-i) für sicherere Löschungen: Anstatt Dateien blind zu entfernen, solltest du den interaktiven Modus (git clean -i) verwenden, um die zu löschenden Dateien zu überprüfen und auszuwählen.
Mögliche Risiken und Vorsichtsmaßnahmen
Die Verwendung von git clean kann riskant sein, wenn du nicht vorsichtig vorgehst, denn sie löscht Dateien dauerhaft, ohne sie irgendwo zu speichern. Hier sind einige wichtige Risiken und Vorsichtsmaßnahmen, die du beachten solltest:
Dateien werden dauerhaft gelöscht: Im Gegensatz zu git stash, das Änderungen vorübergehend speichert, löscht git clean nicht verfolgte Dateien und Verzeichnisse dauerhaft. Einmal entfernt, können diese Dateien nicht über Git wiederhergestellt werden. Wenn du die Dateien später noch brauchst, solltest du sie vor der Ausführung des Befehls git clean sichern.
Sei vorsichtig mit der Option -x: Wenn du git clean-fx verwendest, werden ignorierte Dateien entfernt, z.B. wichtige Konfigurationsdateien, die in .gitignore aufgeführt sind, oder Abhängigkeits-Caches wie node_modules/ und venv/. Das versehentliche Entfernen dieser Dateien kann Builds oder Entwicklungsumgebungen zerstören, daher solltest du diese Option nur bei Bedarf verwenden.
Führe zuerst einen Trockenlauf durch: Führe immer einen Trockenlauf mit git clean -n durch, bevor du git clean -f ausführst. In diesem Schritt kannst du in der Vorschau sehen, welche Dateien gelöscht werden, damit du nicht versehentlich wichtige Dateien entfernst.
Alternative Lösungsansätze: In manchen Szenarien kann die Verwendung von git stash eine bessere Option sein als git clean. Der Befehl git stash -u speichert nicht verfolgte Dateien und schließt ignorierte Dateien für eine mögliche spätere Wiederherstellung aus. git stash pop stellt die gespeicherten Änderungen bei Bedarf wieder her. Diese Methode ist nützlich, wenn du den Zweig wechseln oder deinen Arbeitsbereich aufräumen musst, ohne dass die Änderungen dauerhaft verloren gehen.
Fazit
Eine gut gepflegte Codebasis zeugt von Liebe zum Detail, Effizienz und der Fähigkeit, digitale Ressourcen verantwortungsvoll zu verwalten. Arbeitgeber suchen nach Entwicklern, die sich mit Best Practices auskennen, wie z.B. git clean -n vor dem Löschen von Dateien zu verwenden, vorsichtig mit ignorierten Dateien zu sein ( -x) und sicherere Alternativen wie git stash zu nutzen.
Die Teilnahme an DataCamp-Kursen ist nicht nur eine großartige Möglichkeit zu lernen, sondern auch eine gute Möglichkeit, Arbeitgebern zu signalisieren, dass du die Softwareentwicklung ernst nimmst. Zu diesem Zweck empfehle ich, unseren Blogbeitrag Top 20 Git Interview Questions and Answers for All Levels zu lesen und unseren neuen Lernpfad Git Fundamentals zu besuchen, um ein Experte in Sachen Git zu werden.
Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Gewinne Vertrauen in die OLS-Regression, indem du ihre theoretischen Grundlagen beherrschst. Erforsche, wie du einfache Implementierungen in Excel, R und Python durchführst.
Wenn du an einem Git-Repository arbeitest, sammeln sich häufig nicht verfolgte Dateien und Verzeichnisse an, die nicht Teil des Versionskontrollsystems des Repositorys sind. Dazu können temporäre Dateien, Build-Artefakte oder andere lokal erstellte Dateien gehören, die nicht übertragen werden. Mit der Zeit können diese Dateien das Arbeitsverzeichnis unübersichtlich machen, was es schwieriger macht, einen sauberen und organisierten Arbeitsbereich zu erhalten.
Um dieses Problem zu lösen, gibt es in Git den Befehl
git clean, mit dem nicht verfolgte Dateien und Verzeichnisse entfernt werden. In diesem Leitfaden zeige ich dir, wie dugit cleansicher nutzen kannst, welche Optionen es gibt und wie du am besten vorgehst, um unbeabsichtigtes Löschen von Dateien zu vermeiden und dein Git-Repository aufgeräumt zu halten. Zum weiteren Lernen empfehle ich unsere Kurse Foundations of Git und Introduction to GitHub Concepts, um mehr über Versionskontrolle und den Unterschied zwischen Git und GitHub zu erfahren.Git Clean verstehen
Der Befehl
git cleanist ein nützliches Werkzeug in Git, mit dem nicht verfolgte Dateien aus dem Arbeitsverzeichnis entfernt werden. Der Befehlgit cleanist nützlich, wenn du dein Arbeitsverzeichnis auf einen ursprünglichen Zustand zurücksetzen musst, z.B. vor dem Wechsel von Zweigen oder nach der Ausführung von Build-Prozessen, die temporäre Dateien erzeugen. Der Befehlgit cleansollte jedoch mit Vorsicht verwendet werden, da er nicht verfolgte Dateien und Verzeichnisse dauerhaft löscht, ohne sie in einen Papierkorb zu verschieben.Im Gegensatz zu
git resetodergit checkout, die verfolgte Dateien verändern, befasst sichgit cleanausschließlich mit Dateien und Verzeichnissen, die nicht unter Versionskontrolle stehen. Dazu gehören:Temporäre Dateien, die durch Builds erstellt werden
Log-Dateien oder zwischengespeicherte Daten
Dateien, die in .gitignore aufgelistet sind (wenn explizit mit
-xangegeben)Der Befehl
git cleanist nützlich, um ein aufgeräumtes Arbeitsverzeichnis zu erhalten und ergänzt andere Git-Befehle wiegit resetundgit checkout, die Änderungen in getrackten Dateien verwalten.Das Complete Git Cheat Sheet ist ein praktisches Nachschlagewerk für gängige Git-Befehle.
Häufige Verwendungen für git clean
Der Befehl
git cleanist ein nützliches Werkzeug, um ein sauberes Arbeitsverzeichnis zu erhalten. Im Folgenden sind einige häufige Anwendungsfälle aufgeführt, in denengit cleanunnötige Dateien und Verzeichnisse sicher entfernen kann.Entfernen von nicht verfolgten Dateien
Wenn du in einem Git-Repository arbeitest, können sich mit der Zeit nicht verfolgte Dateien ansammeln. Die folgenden Optionen helfen, sie zu entfernen:
git clean -f: Erzwingt das Entfernen von nicht verfolgten Dateien.git clean -fd: Entfernt nicht verfolgte Dateien und nicht verfolgte Verzeichnisse.git clean -fx: Entfernt nicht verfolgte und ignorierte Dateien, wie die in.gitignoreaufgeführten.Du solltest jedoch vorsichtig sein, wenn du die Option
-fxverwendest, da sie auch ignorierte Dateien löscht. Überprüfe immer mit einem Trockenlauf (git clean -n), bevor du den Befehl ausführst.Interaktiver Modus
Der Befehl
git clean -iermöglicht einen interaktiven Modus, in dem du nicht verfolgte Dateien selektiv entfernen kannst. Dieser Modus ist nützlich, wenn du mehr Kontrolle darüber haben willst, welche Dateien oder Verzeichnisse gelöscht werden.Angenommen, du arbeitest an einem Projekt, bei dem du die Änderungen bereits im Ordner
Olympicsgespeichert hast. Du hast jedoch neue Datenquellen mit den Namen2024_Data,und2025_Datahinzugefügt. Wenn du den Befehlgit clean -iausführst, erhältst du eine Eingabeaufforderung, in der du aus den folgenden Optionen wählen kannst, um die nicht verfolgten Änderungen zu löschen.clean: Ausgewählte Dateien entfernenfilter: Gib ein Muster für zu bereinigende Dateien anselect: Einzelne Dateien nach Nummer auswählenquit: Beenden, ohne etwas zu löschengit clean -i interaktiver Modus. Bild vom Autor.
Trockenübung zur Sicherheit
Die Option
git clean -nist eine nützliche Sicherheitsmaßnahme, da sie einen "Trockenlauf" durchführt und eine Liste der nicht verfolgten Dateien und Verzeichnisse anzeigt, die entfernt werden würden, ohne sie tatsächlich zu löschen. So kannst du die Änderungen überprüfen, bevor du sie ausführst.Im folgenden Beispiel listet der Befehl
git clean -ndie Dateien auf, die gelöscht werden sollen, löscht sie aber nicht.git clean -n für einen Trockenlauf. Bild vom Autor.
Kombinieren mit git reset
Um ein Git-Arbeitsverzeichnis vollständig zurückzusetzen, kannst du git reset
and git cleanwo kombinieren:git reset --hard: Setzt verfolgte Dateien auf den letzten übertragenen Zustand zurück und verwirft alle lokalen Änderungen.git clean -fd: Entfernt nicht verfolgte Dateien und Verzeichnisse und hinterlässt nur übertragene Dateien.Diese Kombination sorgt für ein komplett sauberes Arbeitsverzeichnis und ist nützlich, wenn du den Zweig wechselst, experimentelle Änderungen rückgängig machst oder einen Neustart vorbereitest.
Sieh dir die Website an oder besuche Git Pull Force: Wie man einen lokalen Zweig mit einem entfernten Tutorial überschreibt, um die besten Methoden zum Überschreiben lokaler Änderungen zu lernen.
Schritt-für-Schritt-Anleitung für die Verwendung von git clean
Befolge diese Schritte, um dein Git-Repository sicher zu bereinigen und unerwünschte, nicht verfolgte Dateien und Verzeichnisse zu entfernen.
Schritt 1: Prüfe den aktuellen Status
Bevor du die Bereinigung durchführst, solltest du
git statusausführen, um den aktuellen Status deines Repositorys zu überprüfen und zu sehen, welche Dateien nicht getrackt sind.git status, um den aktuellen Status des Repositorys zu überprüfen. Bild vom Autor.
Schritt 2: Vorschau, was entfernt werden soll
Bevor du einen Entfernungsbefehl ausführst, kannst du unter
git clean -neine Vorschau der zu entfernenden Dateien anzeigen.git clean -n, um zu sehen, was gelöscht werden soll. Bild vom Autor.
Schritt 3: Unverfolgte Dateien entfernen
Führe
git clean -faus, um nicht verfolgte Dateien zu entfernen, wenn die Vorschau korrekt aussieht.Entferne nicht verfolgte Änderungen mit git clean -f. Bild vom Autor.
Schritt 4: Unverfolgte Verzeichnisse entfernen
Verwende
git clean -fd, um nicht verfolgte Verzeichnisse zu entfernen.Entferne nicht verfolgte Verzeichnisse mit git clean -fd. Bild vom Autor.
Schritt 5: Ignorierte Dateien entfernen
Um sowohl nicht verfolgte als auch ignorierte Dateien zu entfernen, verwendest du den Befehl
git clean -fx.Schritt 6: Benutze den interaktiven Modus für die selektive Reinigung
Für mehr Kontrolle kannst du
git clean -ifür die interaktive Entfernung verwenden. In diesem Modus kannst du auswählen, welche Dateien einzeln gelöscht werden sollen.git clean -i interaktiver Modus für selektive Reinigung. Bild vom Autor.
git clean vs. Andere Git-Befehle
Der Befehl
git cleanwird oft mit anderen Git-Befehlen verglichen, die Dateien verändern oder zurücksetzen. In der folgenden Tabelle sind die wichtigsten Unterschiede aufgeführt:git cleangit resetgit checkout(odergit restore)git stashGit Clean Best Practices
Um
git cleansicher und effektiv zu nutzen, befolge diese bewährten Methoden:Verwende Trockenübungen (-n) vor dem Löschen: Verwende immer die Option
git clean -n, um einen Trockenlauf durchzuführen, bevor dugit cleanausführst. So kannst du in der Vorschau sehen, welche Dateien entfernt werden, ohne sie tatsächlich zu löschen.Achte auf ignorierte Dateien: Wenn du
git cleanverwendest, sei vorsichtig mit der Option-x, die ignorierte Dateien entfernt. Dadurch können möglicherweise wichtige Konfigurationsdateien gelöscht werden, die unter.gitignoreaufgeführt sind. Wenn du ignorierte Dateien entfernen musst, verwende den Befehlgit clean -fx.Kombiniere mit Git Reset für eine vollständige Bereinigung: Um dein Repository komplett zurückzusetzen, kombiniere
git resetmitgit clean, wobeigit reset --harddie getrackten Dateien auf ihren letzten Commit-Status zurücksetzt undgit clean -fddie nicht getrackten Dateien und Verzeichnisse entfernt.Verwende den interaktiven Modus (-i) für sicherere Löschungen: Anstatt Dateien blind zu entfernen, solltest du den interaktiven Modus (
git clean -i) verwenden, um die zu löschenden Dateien zu überprüfen und auszuwählen.Mögliche Risiken und Vorsichtsmaßnahmen
Die Verwendung von
git cleankann riskant sein, wenn du nicht vorsichtig vorgehst, denn sie löscht Dateien dauerhaft, ohne sie irgendwo zu speichern. Hier sind einige wichtige Risiken und Vorsichtsmaßnahmen, die du beachten solltest:Dateien werden dauerhaft gelöscht: Im Gegensatz zu
git stash, das Änderungen vorübergehend speichert, löschtgit cleannicht verfolgte Dateien und Verzeichnisse dauerhaft. Einmal entfernt, können diese Dateien nicht über Git wiederhergestellt werden. Wenn du die Dateien später noch brauchst, solltest du sie vor der Ausführung des Befehlsgit cleansichern.Sei vorsichtig mit der Option -x: Wenn du
git clean-fxverwendest, werden ignorierte Dateien entfernt, z.B. wichtige Konfigurationsdateien, die in.gitignoreaufgeführt sind, oder Abhängigkeits-Caches wienode_modules/undvenv/. Das versehentliche Entfernen dieser Dateien kann Builds oder Entwicklungsumgebungen zerstören, daher solltest du diese Option nur bei Bedarf verwenden.Führe zuerst einen Trockenlauf durch: Führe immer einen Trockenlauf mit
git clean -ndurch, bevor dugit clean -fausführst. In diesem Schritt kannst du in der Vorschau sehen, welche Dateien gelöscht werden, damit du nicht versehentlich wichtige Dateien entfernst.Alternative Lösungsansätze: In manchen Szenarien kann die Verwendung von
git stasheine bessere Option sein alsgit clean. Der Befehlgit stash -uspeichert nicht verfolgte Dateien und schließt ignorierte Dateien für eine mögliche spätere Wiederherstellung aus.git stash popstellt die gespeicherten Änderungen bei Bedarf wieder her. Diese Methode ist nützlich, wenn du den Zweig wechseln oder deinen Arbeitsbereich aufräumen musst, ohne dass die Änderungen dauerhaft verloren gehen.Fazit
Eine gut gepflegte Codebasis zeugt von Liebe zum Detail, Effizienz und der Fähigkeit, digitale Ressourcen verantwortungsvoll zu verwalten. Arbeitgeber suchen nach Entwicklern, die sich mit Best Practices auskennen, wie z.B.
git clean -nvor dem Löschen von Dateien zu verwenden, vorsichtig mit ignorierten Dateien zu sein (-x) und sicherere Alternativen wiegit stashzu nutzen.Die Teilnahme an DataCamp-Kursen ist nicht nur eine großartige Möglichkeit zu lernen, sondern auch eine gute Möglichkeit, Arbeitgebern zu signalisieren, dass du die Softwareentwicklung ernst nimmst. Zu diesem Zweck empfehle ich, unseren Blogbeitrag Top 20 Git Interview Questions and Answers for All Levels zu lesen und unseren neuen Lernpfad Git Fundamentals zu besuchen, um ein Experte in Sachen Git zu werden.