Was ist eine .gitignore-Datei?
Eine .gitignore-Datei ist eine einfache Textdatei im Stammverzeichnis deines Git-Repositorys. Sie legt fest, welche nicht verfolgten Dateien und Verzeichnisse Git ignorieren soll, damit Build-Dateien, Umgebungsvariablen, Abhängigkeiten und temporäre Systemdateien nicht versehentlich in die Versionskontrolle gelangen.
Wo muss die .gitignore-Datei abgelegt werden?
Platziere deine .gitignore-Datei im Stammverzeichnis deines Projekts (z. B. /mein-projekt/.gitignore). Dort gelten die Regeln rekursiv für alle Unterordner. Bei Bedarf kannst du auch zusätzliche .gitignore-Dateien in Unterverzeichnissen anlegen, wenn Regeln nur dort greifen sollen.
Kann man mehrere .gitignore-Vorlagen kombinieren?
Ja. Moderne Softwareprojekte kombinieren fast immer mehrere Technologien (z. B. Python + React + Docker + macOS + VS Code). Mit DotGitIgnore kannst du beliebig viele Vorlagen auswählen, wobei Überschneidungen automatisch aufgelöst und identische Regeln zu einer einzigen Datei zusammengeführt werden.
Wie ignoriert man ein ganzes Verzeichnis in Git?
Um einen ganzen Ordner und seinen Inhalt zu ignorieren, hänge einen Schrägstrich an das Ende des Verzeichnisnamens in deiner .gitignore (z. B. node_modules/ oder build/). Ein Muster ohne Schrägstrich passt auf Dateien und Verzeichnisse gleichen Namens, während der Schrägstrich die Regel auf Ordner beschränkt.
Wie ignoriert man Dateien, die bereits getrackt werden?
Das bloße Eintragen in die .gitignore ignoriert eine Datei nicht, wenn sie bereits in früheren Commits getrackt wurde. Um sie aus der Versionsverwaltung zu entfernen, ohne sie von der Festplatte zu löschen, führe 'git rm --cached <datei>' (oder 'git rm -r --cached <ordner>/') aus und committe die Änderung.
Kann ich die generierte .gitignore-Datei anpassen?
Ja. Das Ergebnis von DotGitIgnore ist standardmäßiger Git-Konfigurationstext. Du kannst projektspezifische Pfade ergänzen, lokale Umgebungsvariablen definieren, Kommentare hinzufügen oder einzelne Regeln nach dem Herunterladen nach Belieben bearbeiten.
Wie verwendet man .gitignore in Git richtig?
Erstelle eine Datei namens .gitignore im Stammverzeichnis deines Projekts, trage die auszuschließenden Pfade oder Muster ein (z. B. dist/, .env, *.log) und committe sie mit 'git add .gitignore && git commit -m "Add .gitignore"'. Ab diesem Zeitpunkt ignoriert Git alle neu hinzukommenden Dateien, die den Regeln entsprechen.
Wie funktioniert .gitignore technisch?
Beim Prüfen des Arbeitsverzeichnisses (z. B. bei 'git status' oder 'git add .') gleicht Git noch nicht verfolgte Dateien mit den Mustern in den .gitignore-Dateien ab. Wenn ein Pfad zu einer Ausschlussregel passt und nicht durch ein nachfolgendes '!' aufgehoben wird, nimmt Git ihn nicht in den Index auf.
Welchen Zweck erfüllt eine .gitignore-Datei?
Sie hält das Git-Repository schlank und sicher, indem temporäre Cache-Dateien, kompilierte Artefakte, Drittanbieter-Pakete, systemspezifische Dateien (.DS_Store) und geheime Zugangsdaten (.env) aus der Versionskontrolle herausgehalten werden.
Sollte die .gitignore-Datei mit ins Repository committet werden?
Ja. In fast allen Situationen sollte .gitignore ins Repository eingecheckt werden, damit alle Teammitglieder und CI/CD-Pipelines dieselben Ausschlussregeln nutzen. Für persönliche Werkzeuge auf deinem Rechner verwendest du stattdessen .git/info/exclude oder eine globale gitignore-Datei.
Warum ignoriert .gitignore eine bestimmte Datei nicht?
Der häufigste Grund ist, dass die Datei bereits von Git getrackt wird. .gitignore verhindert nur das Hinzufügen neuer Dateien, entfernt aber keine bereits versionierten. Entferne sie mit 'git rm --cached <datei>' aus dem Index und committe. Weitere Ursachen sind Syntaxfehler oder falsche Schrägstriche im Pfad.
Was passiert, wenn man .gitignore in die .gitignore schreibt?
Wurde die .gitignore bereits committet, hat der Eintrag keinen Effekt, da Git sie bereits verfolgt. Trägt man sie vor dem ersten Commit ein, ignoriert Git die .gitignore-Datei selbst, sodass sie nicht mit dem Team geteilt werden kann. In der Praxis sollte .gitignore niemals sich selbst ignorieren.
Wie prüfe ich, ob eine Datei durch .gitignore ignoriert wird?
Führe den Befehl 'git check-ignore -v <pfad>' aus. Wenn die Datei ignoriert wird, gibt Git die zuständige .gitignore-Datei, die Zeilennummer und das passende Muster aus. Mit 'git status --ignored' siehst du zudem alle aktuell ignorierten Dateien im Verzeichnis.
Was sind die besten Praktiken für .gitignore?
Erstelle die Datei vor deinem allerersten Commit, gruppiere Regeln nach logischen Kategorien (Abhängigkeiten, Build-Ausgaben, lokale Geheimnisse), committe sie in die Versionskontrolle und verwalte persönliche IDE-Einstellungen in einer globalen Datei. DotGitIgnore sorgt von Beginn an für saubere Regeln.
Was gehört typischerweise in eine .gitignore-Datei?
Build-Ausgaben (dist/, build/), Abhängigkeitsordner (node_modules/, vendor/), Umgebungsvariablen (.env*), kompilierte Binärdateien (*.class, *.o) und Log-Dateien (*.log). Niemals ignoriert werden sollten Quellcode, Konfigurationsbeispiele (.env.example) oder Paket-Lockfiles.
Kann man mehrere .gitignore-Dateien in einem Repository haben?
Ja. Git unterstützt verschachtelte .gitignore-Dateien. Muster in einem Unterordner gelten nur für diesen Ordner und haben Vorrang vor den Regeln der Stammdatei. Das ist besonders praktisch bei Monorepos mit mehreren Programmiersprachen oder Microservices.
Wie ignoriert man eine ganz bestimmte Datei in Git?
Um eine Datei überall im Projekt zu ignorieren, trage ihren Namen ein (z. B. geheimnis.txt). Soll sie nur direkt im Stammverzeichnis ignoriert werden, stelle einen Schrägstrich voran (/geheimnis.txt). Für eine bestimmte Datei in einem Unterordner gibst du den relativen Pfad an (config/credentials.json).
Wie ignoriert man Umgebungsvariablen und .env-Dateien?
Füge .env sowie lokale Varianten (.env.local, .env.*.local) zu deiner .gitignore hinzu, um das Veröffentlichen von API-Keys und Passwörtern zu verhindern. Committe stattdessen eine bereinigte .env.example-Datei mit Platzhaltern, damit Mitwirkende die benötigten Variablen kennen.
Was ist der Unterschied zwischen .gitignore und .git/info/exclude?
.gitignore wird in Git versioniert und mit allen Projektbeteiligten geteilt – ideal für projektweite Regeln wie Build-Ordner. .git/info/exclude liegt lokal in .git/, wird niemals committet oder gepusht und eignet sich perfekt für persönliche Werkzeuge auf deiner Maschine.
Was bedeutet das Ausrufezeichen (!) in .gitignore?
Ein Ausrufezeichen negiert ein vorheriges Muster, um eine zuvor ausgeschlossene Datei doch wieder aufzunehmen (z. B. *.log gefolgt von !wichtig.log). Beachte: Wurde das übergeordnete Verzeichnis bereits ignoriert, kann Git darin liegende Dateien mit '!' nicht wieder reaktivieren.
Wie kann man eine ignorierte Datei trotzdem zu Git hinzufügen?
Du kannst das Hinzufügen einer ignorierten Datei erzwingen mit 'git add -f <pfad>'. Sobald sie committet wurde, verfolgt Git sie wie gewohnt weiter, selbst wenn sie zu einer .gitignore-Regel passt, bis sie ausdrücklich mit 'git rm --cached' entfernt wird.