Hier erfahren Sie, wie Sie Git bereinigen und nicht verfolgte Dateien entfernen
Nicht verfolgte Dateien können Ihren Git-Arbeitsbaum überladen und die Dinge später durcheinander bringen. Manchmal können diese nicht verfolgten Dateien Text oder andere Dateien sein, die Sie nicht in Ihrem Remote-Repository haben möchten, oder solche, die Sie nach dem Bereitstellen eines Commits fälschlicherweise auf die eine oder andere Weise erstellt haben.
In jedem Fall ist es immer hilfreich, Ihren Git-Arbeitsbaum zu bereinigen, um diese Dateien zu entfernen.
Was sind nicht verfolgte Dateien während eines Git-Commits?
Wenn Sie einige vorhandene Dateien in Ihrem Projekt aktualisiert und auch lokal neue Dateien hinzugefügt haben und dieses Update in Ihr Remote-Repository auf GitHub übertragen möchten, müssen Sie diese Änderungen für das Festschreiben bereitstellen.
Ein bloßes Update, das Sie an bereits vorhandenen Dateien vornehmen, die Sie bereits festgeschrieben haben, entfernt sie nicht aus den nachverfolgten Dateien.
Wenn Sie ein Update für das Festschreiben bereitstellen, werden auch neue Dateien mit diesen bereitgestellt, und Git fügt sie den nachverfolgten Dateien hinzu. Neue Dateien, die Sie nach dem Staging Ihres Commits zu Ihrem Projekt hinzufügen, werden jedoch nicht nachverfolgt.
Dies können unwichtige oder übrig gebliebene Dateien sein, die Sie vorübergehend verwendet haben, oder solche, die nach dem Zusammenführen oder Übertragen einiger Änderungen auf die eine oder andere Weise auftauchen. Folglich lauern diese nicht verfolgten Dateien immer noch in Ihrem Arbeitsbaum, und wenn Sie den Git-Status ausführen, gibt Git sie als nicht verfolgte Dateien zurück.
Sie können diese Dateien löschen, indem Sie Ihren Git-Arbeitsbaum bereinigen. Wenn Sie dennoch der Meinung sind, dass Sie einige davon lokal benötigen, können Sie sie der .gitignore- Datei hinzufügen. Dateien, die Sie zu .gitignore hinzufügen, sind von der Bereinigung nicht betroffen, auch wenn Sie sie einschließen möchten .
Das Reinigen von Git ist so einfach wie das Löschen eines Git-Zweigs lokal oder remote . Sehen wir uns die verschiedenen Möglichkeiten an, wie Sie Git bereinigen können, um nicht verfolgte Dateien oder Ordner unten zu löschen.
So bereinigen Sie Git und entfernen nicht verfolgte Dateien oder Ordner
Bevor Sie nicht verfolgte Dateien entfernen, sollten Sie überprüfen, ob Sie sie löschen möchten. Führen Sie dazu den folgenden Code aus:
git clean -d -n
Der Befehl gibt alle nicht verfolgten Ordner und Dateien zurück, die Git aus Ihrem Arbeitsbaum entfernt.
Führen Sie Folgendes aus, um diese Dateien und Verzeichnisse zu entfernen:
git clean -d -f
Verwenden Sie Folgendes, um nur Dateien zu entfernen, ohne Ordner zu löschen:
git clean -f
Obwohl die oben genannten Methoden die in .gitignore aufgelisteten Dateien nicht entfernen, können Sie mit dem folgenden Befehl auch die in der .gitignore- Datei aufgelisteten Elemente bereinigen :
git clean -fx
Um nur ignorierte Dateien zu entfernen, ohne andere Dateien einzuschließen, ändern Sie diesmal das Kleinbuchstaben "x" in ein Großbuchstaben "X":
git clean -fX
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob sich in Ihrem Arbeitsbaum noch nicht bereitgestellte Dateien befinden:
git status
Sie können Git auch interaktiv bereinigen, indem Sie Folgendes verwenden:
git clean -i
Verwenden Sie Folgendes, um Dateien in .gitignore im interaktiven Bereinigungsmodus einzuschließen :
git clean -ix
Führen Sie den folgenden Befehl aus, um in .gitignore aufgelistete Dateien nur im interaktiven Modus zu bereinigen. Stellen Sie sicher, dass Sie diesmal den Großbuchstaben "X" verwenden:
git clean -ifX
Sobald der interaktive Modus aktiviert ist, können Sie die Dateien nach Zahlen- oder Zeichenfolgenmustern filtern. Sie können auch die Option if fragen auswählen , um jede Datei vor dem Löschen zu überprüfen. Wenn Sie möchten, können Sie die Bereinigungsoption auswählen, um die Dateien sofort zu entfernen.
Wenn Sie den Git-Status ausführen, erhalten Sie aktuelle Staging-Informationen. Wenn nicht bereitgestellte Dateien oder Ordner vorhanden sind, werden Sie ebenfalls darüber informiert.
Sehen Sie entfernte Dateien nach dem Ausführen von Git Clean immer noch als nicht verfolgt?
Wenn Sie jedoch nach Überprüfung des Git-Status weiterhin Dateien entfernen, die Sie zuvor entfernt haben, sollten Sie den Git-Cache leeren. Führen Sie dann git clean erneut aus, um die Dateien zu entfernen.
So löschen Sie Ihren Git-Cache:
git rm -r --cached [filename]
Wenn nach dem Bereinigen von Git noch mehr als eine Datei angezeigt wird, löschen Sie den Git-Cache für jede Datei mit dem folgenden Befehl:
git rm -r --cached [filename1] [filename2] [filename3]...
Stellen Sie jedoch sicher, dass Sie die Dateierweiterung für jede der Dateien hinzufügen, und denken Sie daran, Git erneut zu bereinigen, um sie zu entfernen.
Warum müssen Sie Git bereinigen, um nicht verfolgte Dateien zu entfernen?
Manchmal möchten Sie Dinge in Ihrem Git-Arbeitsbaum aufräumen, bevor Sie ein Projekt für ein anderes Mal verlassen. Sie werden dann wahrscheinlich die letzten Änderungen, die Sie am Projekt vorgenommen haben, verschieben oder zusammenführen, um sicherzustellen, dass Sie genau dort weitermachen können, wo Sie das nächste Mal aufgehört haben.
Beim Pushing oder Zusammenführen können jedoch einige Dateien, die Sie nicht in Ihrem Repository haben möchten, versehentlich abgelegt werden.
Wenn Sie solche Dateien nicht überprüfen und entfernen, kann dies Ihr Remote-Repository durcheinander bringen, da sie beim nächsten Update Ihres Remote-Repositorys verschoben werden. Darüber hinaus können solche Dateien bei der Bereitstellung auf Plattformen wie Heroku, die Git für die Bereitstellung verwenden, Probleme verursachen.
Also: Halte deinen Git sauber!