.gitignore Generator
.gitignore Generator
Erstelle .gitignore-Dateien für Node.js, Python, Java, PHP, C#, Go, Rust, Unity, Visual Studio Code und mehr. Mit Live-Vorschau und Download.
Datenschutz-Garantie: Alle .gitignore-Dateien werden zu 100% lokal in deinem Browser generiert. Es werden keine Daten an Server gesendet. Perfekt für dein nächstes Git-Projekt.
Inhaltsverzeichnis
Schnellübersicht
- .gitignore Generator: 24+ Vorlagen für alle gängigen Sprachen
- Templates: Node.js, Python, Java, PHP, C#, Go, Rust, Unity, VS Code u.v.m.
- Optionen: OS-Dateien, IDE-Dateien, eigene Regeln
- Live-Vorschau: Sofortige Aktualisierung
- Download: Als .gitignore-Datei speichern
- Theorie: Was ist eine .gitignore? (Anfängerfreundlich)
- Geschichte: Von Git zu .gitignore
- FAQ: Häufige Fragen zu Git und .gitignore
1. .gitignore Generator
Wähle die Vorlagen für dein Projekt aus – die .gitignore wird sofort generiert.
- Die .gitignore wird von oben nach unten gelesen – spätere Regeln überschreiben frühere.
- Mit ! (Ausrufezeichen) kannst du Dateien wieder einschließen, z.B.
!wichtig.log. - Ein / am Anfang bezieht sich auf das Repository-Root, z.B.
/build/. - Ein / am Ende bedeutet, dass nur Verzeichnisse ignoriert werden.
- Die .gitignore sollte versioniert werden – sie gehört ins Repository!
2. Theorie – .gitignore einfach erklärt
Verstehe die Grundlagen von .gitignore – ohne Vorkenntnisse.
Was ist eine .gitignore?
Eine .gitignore ist eine einfache Textdatei, die Git sagt: "Diese Dateien und Ordner bitte ignorieren!"
- Zweck: Verhindert, dass unnötige Dateien versioniert werden
- Format: Reiner Text, eine Regel pro Zeile
- Platzierung: Im Root-Verzeichnis des Repositories
- Versionierung: Die .gitignore selbst wird mit Git versioniert
node_modules/
npm-debug.log*
Warum braucht man das?
Ohne .gitignore würde dein Repository schnell unübersichtlich und riesig werden:
- Sauberkeit: Nur relevanter Quellcode wird versioniert
- Performance: Keine riesigen Binärdateien oder node_modules
- Sicherheit: Keine Passwörter oder API-Keys im Repository
- Teamarbeit: Jeder Entwickler hat die gleichen Regeln
Wo wird es eingesetzt?
.gitignore begegnet dir in jedem Git-Projekt:
- Webentwicklung: node_modules, .env, build/
- Python: __pycache__, *.pyc, venv/
- Java: target/, *.class, .gradle/
- Mobile Apps: build/, .dart_tool/, Pods/
- Spieleentwicklung: Library/, Temp/, Build/
- Persönliche Projekte: .DS_Store, Thumbs.db
Tipps für Anfänger
- Früh anlegen: Am besten vor dem ersten Commit
- Globale .gitignore: Für OS-Dateien wie .DS_Store
- Muster nutzen: *.log, build/, **/tmp/
- Negation: !wichtig.txt schließt wieder ein
- GitHub Templates: github.com/github/gitignore
- Bereits getrackte Dateien: git rm --cached datei.txt
Wussten Sie schon? Die .gitignore wurde mit der ersten Version von Git im Jahr 2005 eingeführt – entwickelt von Linus Torvalds für die Linux-Kernel-Entwicklung. Heute gibt es auf GitHub über 1 Million Repositories mit einer .gitignore-Datei. Die beliebtesten Vorlagen sind Node.gitignore, Python.gitignore und VisualStudio.gitignore.
3. Vorlagen im Überblick
Die wichtigsten .gitignore-Vorlagen für verschiedene Programmiersprachen und Tools:
Web & JavaScript
- Node.js: node_modules/, npm-debug.log*
- React/Vue: build/, dist/, .cache/
- Next.js: .next/, out/
- Angular: dist/, .angular/
Python
- Standard: __pycache__/, *.pyc, *.pyo
- Virtuelle Umgebung: venv/, .venv/, env/
- Distribution: build/, dist/, *.egg-info/
- Tests: .pytest_cache/, .coverage
Java & JVM
- Build: target/, build/, out/
- Klassen: *.class, *.jar, *.war
- Gradle: .gradle/, gradle-app.setting
- Maven: target/, pom.xml.tag
OS & IDE
- macOS: .DS_Store, .AppleDouble
- Windows: Thumbs.db, Desktop.ini
- Linux: *~, .directory
- VS Code: .vscode/ (außer settings.json)
- IntelliJ: .idea/, *.iml
| Vorlage | Sprache/Tool | Wichtigste Regeln |
|---|---|---|
| Node.gitignore | Node.js | node_modules/, npm-debug.log* |
| Python.gitignore | Python | __pycache__/, *.pyc, venv/ |
| Java.gitignore | Java | *.class, target/, build/ |
| PHP.gitignore | PHP | vendor/, composer.lock |
| CSharp.gitignore | C# / .NET | bin/, obj/, *.user |
| Go.gitignore | Go | *.exe, *.test, vendor/ |
| Rust.gitignore | Rust | target/, Cargo.lock (nur für libs) |
| Unity.gitignore | Unity | Library/, Temp/, Build/ |
| VisualStudio.gitignore | Visual Studio | .vs/, bin/, obj/, *.user |
| VSCode.gitignore | VS Code | .vscode/ (außer settings.json) |
4. Geschichte von Git und .gitignore
Von der Erfindung von Git bis zum Standard in der Softwareentwicklung.
Git wird geboren
Linus Torvalds entwickelt Git in nur wenigen Wochen, nachdem die Linux-Kernel-Community die kostenlose Nutzung von BitKeeper verliert. Git wird zum dezentralen Versionskontrollsystem.
Erste .gitignore
Mit der ersten Git-Version wird auch die .gitignore eingeführt. Sie ermöglicht es, Dateien und Verzeichnisse vom Versionieren auszuschließen – ein Grundpfeiler für saubere Repositories.
GitHub startet
GitHub wird gegründet und macht Git für Millionen von Entwicklern zugänglich. Die Plattform etabliert sich als Standard für Open-Source-Projekte und fördert die Verbreitung von .gitignore-Dateien.
GitHub gitignore-Repository
GitHub startet das offizielle github/gitignore-Repository mit Vorlagen für hunderte Sprachen und Tools. Es wird zur ersten Anlaufstelle für .gitignore-Vorlagen.
Sicherheit wird wichtig
Nach mehreren Vorfällen mit versehentlich veröffentlichten API-Keys und Passwörtern wird die Bedeutung von .gitignore für die Sicherheit erkannt. .env-Dateien werden zum Standard-Ausschluss.
Gitignore-Generatoren
Online-Tools wie gitignore.io und toptal.com/developers/gitignore werden populär. Sie ermöglichen es, .gitignore-Dateien für mehrere Sprachen gleichzeitig zu generieren.
Standard in jedem Projekt
Über 100 Millionen Git-Repositories gibt es weltweit. Eine .gitignore ist in fast jedem professionellen Projekt Standard – von kleinen Webseiten bis zu riesigen Open-Source-Projekten wie Linux, React oder Kubernetes.
5. FAQ – Spannende Fragen & Antworten
Häufige Fragen zu .gitignore
Das ist ein klassischer Anfängerfehler! Wenn du eine Datei bereits committet hast, ignoriert Git sie nicht mehr – auch wenn du sie später zur .gitignore hinzufügst.
So entfernst du sie aus dem Repository:
- Einzelne Datei:
git rm --cached datei.txt - Ganze Ordner:
git rm --cached -r node_modules/ - Dann committen:
git commit -m "Entferne versehentlich getrackte Dateien"
Wichtig: Die Datei bleibt auf deiner Festplatte! Nur aus Git wird sie entfernt. Füge sie danach zur .gitignore hinzu, damit sie nicht wieder auftaucht.
node_modules/ ist einer der wichtigsten Einträge in einer .gitignore. Hier die Gründe:
- Größe: Ein typisches node_modules kann 100.000+ Dateien und mehrere hundert MB enthalten.
- Redundanz: Die Abhängigkeiten werden durch
package.jsonundnpm installreproduziert. - Performance: Git würde bei jedem Commit extrem langsam werden.
- Plattformabhängigkeit: Binärdateien unterscheiden sich je nach Betriebssystem.
Faustregel: Alles, was durch einen Paketmanager installiert wird, gehört nicht ins Repository. Dazu gehören:
- node_modules/ (npm)
- vendor/ (Composer, Go)
- venv/ (Python)
- target/ (Rust, Maven)
- bin/, obj/ (.NET)
Stattdessen werden die Lock-Dateien versioniert: package-lock.json, composer.lock, poetry.lock, etc.
Das Ausrufezeichen (!) ist die Negation – es macht eine vorherige Ignorier-Regel rückgängig:
- *.log → Ignoriert alle .log-Dateien
- !wichtig.log → Schließt wichtig.log wieder ein
Wichtige Regel: Die Negation muss nach der ursprünglichen Regel stehen, sonst funktioniert sie nicht!
Praxisbeispiel:
*.log
# Aber wichtiges Log behalten
!important.log
Achtung: Wenn ein ganzes Verzeichnis ignoriert wird (z.B. logs/), kann eine einzelne Datei darin nicht einfach wieder eingeschlossen werden. Git ignoriert dann das Verzeichnis komplett.
Die .gitignore gehört ins Root-Verzeichnis deines Git-Repositories – also auf die gleiche Ebene wie der .git-Ordner.
Die wichtigsten Speicherorte:
| Ort | Gilt für | Empfehlung |
|---|---|---|
| Repository-Root | Nur dieses Projekt | ✅ Immer anlegen |
| ~/.gitignore_global | Alle Projekte des Nutzers | ✅ Für OS-Dateien |
| Unterordner | Nur diesen Ordner | ⚠️ Selten nötig |
Empfehlung:
- Projekt-spezifisch: node_modules/, build/, dist/ → ins Repository-Root
- Benutzer-spezifisch: .DS_Store, Thumbs.db, .idea/ → in die globale .gitignore
Globale .gitignore einrichten:
Das ist eine der wichtigsten Sicherheitsregeln überhaupt! .env-Dateien enthalten oft:
- API-Keys (AWS, Google, Stripe, etc.)
- Datenbank-Passwörter
- Secret Keys für Sessions und JWT
- SMTP-Zugangsdaten
- Drittanbieter-Tokens
Was passiert, wenn du sie committest?
- Sie sind für immer in der Git-Historie
- Auch nach dem Löschen bleiben sie in alten Commits sichtbar
- Bots scannen GitHub in Echtzeit nach API-Keys
- Deine Keys können innerhalb von Minuten missbraucht werden
Best Practice:
- .env → in .gitignore
- .env.example → ins Repository (mit Platzhaltern)
- Dokumentation: In der README erklären, welche Variablen nötig sind
Falls es passiert ist: Keys sofort rotieren (ungültig machen) und neue generieren!
Ja, auf mehrere Arten! Git bietet flexible Möglichkeiten, die .gitignore zu umgehen:
1. Negation in der .gitignore:
!wichtig.log
2. Force-Add (einmalig):
3. .git/info/exclude (lokal, nicht versioniert):
Diese Datei funktioniert wie eine lokale .gitignore, wird aber nicht mit dem Repository geteilt.
4. Check-Ignore zum Debuggen:
Zeigt an, welche Regel die Datei ignoriert.
Git bietet mehrere Befehle, um die .gitignore zu testen:
1. Status prüfen:
Zeigt ignorierte Dateien explizit an.
2. Einzelne Datei prüfen:
Zeigt die Regel, die die Datei ignoriert (oder keine Ausgabe = nicht ignoriert).
3. Liste aller ignorierten Dateien:
4. Test mit einer Dummy-Datei:
- Erstelle eine Datei, die ignoriert werden sollte
- Führe
git statusaus - Die Datei sollte nicht auftauchen
Die beiden Dateien haben komplett unterschiedliche Aufgaben:
| Eigenschaft | .gitignore | .gitkeep |
|---|---|---|
| Zweck | Dateien ignorieren | Leere Ordner versionieren |
| Funktion | Git-Befehl | Konvention (kein Git-Feature!) |
| Inhalt | Ignorier-Regeln | Meist leer |
| Platzierung | Repository-Root | In leeren Ordnern |
Das Problem: Git versioniert keine leeren Ordner. Wenn du z.B. einen logs/-Ordner brauchst, aber alle Logs ignorierst, wird der Ordner nicht ins Repository aufgenommen.
Die Lösung: Eine leere .gitkeep-Datei in den Ordner legen. Damit hat der Ordner einen Inhalt und wird versioniert.
├── .gitkeep
└── (wird später gefüllt)
Wichtig: .gitkeep ist keine offizielle Git-Funktion – es ist eine reine Konvention. Du könntest auch eine .gitignore mit !.gitkeep verwenden.
Zusammenfassung
Die wichtigsten Punkte
- .gitignore: Textdatei zum Ausschließen von Dateien aus Git
- Platzierung: Im Root-Verzeichnis des Repositories
- Sicherheit: .env-Dateien immer ignorieren (API-Keys!)
- node_modules/: Nie versionieren – wird per npm installiert
- Negation: Mit ! können Dateien wieder eingeschlossen werden
- Bereits getrackt: git rm --cached entfernt aus Git
- Testen: git check-ignore -v prüft Regeln
- Unser Tool: 24+ Vorlagen mit Live-Vorschau
Weitere Tools
Unix-Zeitstempel in lesbare Daten umwandeln und umgekehrt.
Zum ToolErstelle QR-Codes mit Logo, Farben und Fehlerkorrektur-Level.
Zum ToolErstelle Barcodes in 12+ Formaten mit Live-Vorschau und Download.
Zum ToolMD5, SHA-1, SHA-256 und SHA-512 für Text und Dateien.
Zum Tool