Kombination mit der Prüfung auf ignorierten Dateien
In den vorherigen Schritten haben wir gelernt, wie man nicht nachverfolgte Dateien mit git status
und git ls-files --others
identifiziert. Manchmal gibt es jedoch Dateien, die Sie absichtlich nicht von Git nachverfolgen lassen möchten, wie temporäre Dateien, Build-Ausgaben oder Konfigurationsdateien, die sensible Informationen enthalten. Git ermöglicht es Ihnen, diese Dateien in einer .gitignore
-Datei anzugeben.
In diesem Schritt werden wir eine .gitignore
-Datei erstellen und sehen, wie sich dies auf die Ausgabe von git status
und git ls-files --others
auswirkt.
Zunächst stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/my-time-machine
befinden.
Jetzt erstellen wir eine Datei, die wir ignorieren möchten. Wir nennen sie temp.log
:
echo "This is a temporary log file" > temp.log
Führen Sie erneut git status
aus:
git status
Sie sollten sowohl notes.txt
als auch temp.log
als nicht nachverfolgte Dateien aufgeführt sehen:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: message.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
notes.txt
temp.log
no changes added to commit (use "git add" and/or "git commit -a")
Jetzt erstellen wir eine .gitignore
-Datei und fügen temp.log
hinzu. Verwenden Sie den nano
-Editor, um die Datei zu erstellen und zu bearbeiten:
nano .gitignore
Im nano
-Editor geben Sie die folgende Zeile ein:
temp.log
Drücken Sie Ctrl + X
, dann Y
, um zu speichern, und Enter
, um den Dateinamen zu bestätigen.
Jetzt führen Sie git status
noch einmal aus:
git status
Diesmal sollte temp.log
nicht mehr in der Liste der "Untracked files:" erscheinen:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: message.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
notes.txt
no changes added to commit (use "git add" and/or "git commit -a")
Git weiß jetzt, dass es temp.log
ignorieren soll. Sehen wir uns auch an, wie sich dies auf git ls-files --others
auswirkt:
git ls-files --others
Die Ausgabe sollte jetzt nur notes.txt
anzeigen:
notes.txt
Standardmäßig listet git ls-files --others
nicht ignorierten Dateien auf. Dies ist normalerweise das gewünschte Verhalten, da Sie normalerweise nicht die Dateien sehen möchten, die Sie Git ausdrücklich angewiesen haben, zu ignorieren.
Wenn Sie dennoch sowohl ignorierten als auch andere nicht nachverfolgte Dateien sehen möchten, können Sie die Option --ignored
mit git ls-files --others
verwenden:
git ls-files --others --ignored
Die Ausgabe wird jetzt sowohl nicht nachverfolgte als auch ignorierten Dateien enthalten:
.gitignore
notes.txt
temp.log
Beachten Sie, dass .gitignore
selbst eine nicht nachverfolgte Datei ist, bis Sie sie hinzufügen und committen.
Das Verständnis, wie man .gitignore
verwendet, ist entscheidend, um Ihr Repository sauber zu halten und sich auf die eigentlichen Projektdateien zu konzentrieren. Es verhindert versehentliche Commits von Dateien, die nicht in der Versionskontrolle sein sollten.