.gitignore¶
Im einfachsten Fall liegt die .gitignore im Hauptverzeichnis
des Git-Projekts. Man kann aber auch in Unterordnern eigene .gitignore
anlegen, die dann in diesen Ordnern gelten.
Hinweis
Der Linux Kernel hat Hunderte von kommentierten .gitignore Files!
Für genauere Nutzung bitte einfach die verschiedenen Git-Dokumentation nutzen:
Es gibt also diverse aufwendige Vorlagen/Templates für diverse Entwicklungsumgebungen (z.B. Python, Java, …).
Hier eine einfache Beispieldatei (aus dem Pro Git Book):
# ignore all .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in any directory named build
build/
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt
# ignore all .pdf files in the doc/ directory and any of its subdirectories
doc/**/*.pdf
Eine kleine .gitignore für unsere Übungsumgebungen könnte z. B. so aussehen:
$ cat .gitignore
# folder for Builds
_build/
# Dolphin
.directory
# VSCode Settings
.vscode/
# lokale, persönliche Datei
localinfos.txt
Hier wird ein gesamter Ordner _build, alle Dateien .directory,
die Settings von Microsoft Visual Studio Code
und eine (spätere) Übungsdatei localinfos.txt von Git ignoriert.
Wenn diese Datei erstellt wurde sieht man mit git status: (hier Auszug)
...
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
Diese Datei muss also - wie jede Andere - noch Git mitgeteilt (commited) werden. In den späteren Auszügen wird die .gitignore einfach weggelassen - sie wird ja auch nicht dauernd geändert und taucht somit nicht im Index auf.
Tipp
Zuerst .gitignore erstellen, add-en und commit-en -
und danach die entsprechenden Dateien und Ordnerstrukturen.
Nicht ohne Grund kann man auf GitHub direkt beim Erstellen
neuer Repositories diese Datei direkt erzeugen lassen.
Testweise kann man später die Ausschlussdatei localinfos.txt
erstellen und schauen, was passiert.
Und natürlich lassen sich später auch Dateien/Ordner aus dem Repository wieder löschen.
Es gibt neben der .gitignore auch noch andere Exclude
Mechanismen, die der Beitrag
Red Hat - How to ignore files in Git without .gitignore
beschreibt.