guide

Globale gitignore einrichten (core.excludesFile)

So richten Sie core.excludesFile ein, damit Dateien aus Ihrer persönlichen Umgebung wie .DS_Store von macOS oder Editordateien in allen Repositorys ignoriert werden – inklusive Standardpfad.

Dateien wie .DS_Store, Thumbs.db, .idea/workspace.xml oder *.swp entstehen nicht durch das Projekt, sondern durch Ihren Computer und Ihren Editor. Statt solche Regeln in jedes Repository zu kopieren, schreiben Sie sie einmal in die globale gitignore.

Standardpfad

Auch ohne weitere Einstellung liest git die folgende Datei als globale Ausschlussliste.

Auf den meisten macOS- und Linux-Systemen genügt es also, die Datei ~/.config/git/ignore anzulegen.

mkdir -p ~/.config/git
printf '.DS_Store\n*.swp\n.idea/workspace.xml\n' >> ~/.config/git/ignore

Eine andere Datei verwenden: core.excludesFile

Um eine Datei an einem beliebigen Pfad zu verwenden, setzen Sie core.excludesFile. Ist dieser Wert gesetzt, liest git diese Datei statt des Standardpfads.

# macOS / Linux
git config --global core.excludesFile ~/.gitignore_global

# Windows (PowerShell)
git config --global core.excludesFile "$env:USERPROFILE\.gitignore_global"

Ob die Einstellung übernommen wurde, prüfen Sie mit folgendem Befehl.

git config --global --get core.excludesFile

Wird kein Wert ausgegeben, ist die Einstellung nicht gesetzt, und es gilt der oben genannte Standardpfad.

Was gehört in die globale Datei?

Global passen persönliche Dateien, die unabhängig vom Projekt immer gleich entstehen.

ArtBeispieleEmpfohlene Vorlage
Betriebssystem.DS_Store, ._*, Thumbs.db, desktop.ini, *~macOS, Windows, Linux
Persönlicher Editor-/IDE-Zustand*.swp, .idea/workspace.xml, persönliche Dateien in .vscode/*Vim, JetBrains, VisualStudioCode
Persönliche Tools.envrc (direnv), persönlicher Notizordnerselbst schreiben

Wählen Sie im Generator nur Vorlagen wie macOS oder JetBrains aus und kopieren Sie das Ergebnis – schon haben Sie den Inhalt für Ihre globale Datei.

Umgekehrt gehören Build-Ergebnisse, Abhängigkeitsordner und Geheimnisse nicht in die globale, sondern in die projektbezogene .gitignore. Diese Regeln müssen für alle gelten, die das Repository klonen.

Grenzen der globalen Variante

Die globale gitignore gilt nur auf Ihrem Computer. Hat ein Teammitglied keine globale Einstellung vorgenommen, kann dessen .DS_Store weiterhin committet werden. Deshalb beschreibt auch das GitHub-Vorlagenrepository beide Wege: die Global-Vorlagen global einzurichten oder sie mit der Projektvorlage zusammenzuführen.

In der Praxis hat sich folgende Faustregel bewährt.

Vorrang

Die globale Datei hat unter den vier Regelquellen den niedrigsten Vorrang. Selbst wenn global *.log ignoriert wird, gewinnt die Projektseite, sobald in der Projekt-.gitignore !keep.log steht. Wenn unklar ist, welche Regel gegriffen hat, führen Sie git check-ignore -v <Pfad> aus. Steht am Anfang der Ausgabe der Pfad der globalen Datei, hat die globale Regel entschieden.

Quellen

← Zurückgitignore-Vorrang und Negationsmuster (!)