.gitignore Generator

ENTWICKLER-TOOL

.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.

24+ Templates Live-Vorschau Download Kopieren Anpassbar

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.

Vorlagen auswählen
Zusätzliche Optionen
Eigene Regeln (optional)
Eine Regel pro Zeile. Kommentare mit # beginnen.
Live-Vorschau
.gitignore
0 Zeilen · 0 Bytes
# Wähle Vorlagen aus, um zu beginnen...
Wussten Sie schon?
  • 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.js
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
node_modules/ kann 100.000+ Dateien enthalten!

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
Fast jedes Open-Source-Projekt hat eine .gitignore!

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
git rm --cached -r node_modules/

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/
node_modules/

Python

  • Standard: __pycache__/, *.pyc, *.pyo
  • Virtuelle Umgebung: venv/, .venv/, env/
  • Distribution: build/, dist/, *.egg-info/
  • Tests: .pytest_cache/, .coverage
__pycache__/

Java & JVM

  • Build: target/, build/, out/
  • Klassen: *.class, *.jar, *.war
  • Gradle: .gradle/, gradle-app.setting
  • Maven: target/, pom.xml.tag
target/

OS & IDE

  • macOS: .DS_Store, .AppleDouble
  • Windows: Thumbs.db, Desktop.ini
  • Linux: *~, .directory
  • VS Code: .vscode/ (außer settings.json)
  • IntelliJ: .idea/, *.iml
.DS_Store
Vorlage Sprache/Tool Wichtigste Regeln
Node.gitignoreNode.jsnode_modules/, npm-debug.log*
Python.gitignorePython__pycache__/, *.pyc, venv/
Java.gitignoreJava*.class, target/, build/
PHP.gitignorePHPvendor/, composer.lock
CSharp.gitignoreC# / .NETbin/, obj/, *.user
Go.gitignoreGo*.exe, *.test, vendor/
Rust.gitignoreRusttarget/, Cargo.lock (nur für libs)
Unity.gitignoreUnityLibrary/, Temp/, Build/
VisualStudio.gitignoreVisual Studio.vs/, bin/, obj/, *.user
VSCode.gitignoreVS Code.vscode/ (außer settings.json)

4. Geschichte von Git und .gitignore

Von der Erfindung von Git bis zum Standard in der Softwareentwicklung.

2005

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.

2005

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.

2008

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.

2010

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.

2014

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.

2018

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.

Heute

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

Was passiert, wenn ich eine Datei vergesse zu ignorieren?

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.

Warum sollte ich node_modules/ ignorieren?

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.json und npm install reproduziert.
  • 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.

Was bedeutet das Ausrufezeichen (!) in einer .gitignore?

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:

# Alle Logs ignorieren
*.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.

Wo gehört die .gitignore hin?

Die .gitignore gehört ins Root-Verzeichnis deines Git-Repositories – also auf die gleiche Ebene wie der .git-Ordner.

Die wichtigsten Speicherorte:

OrtGilt fürEmpfehlung
Repository-RootNur dieses Projekt✅ Immer anlegen
~/.gitignore_globalAlle Projekte des Nutzers✅ Für OS-Dateien
UnterordnerNur 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:

git config --global core.excludesfile ~/.gitignore_global
Warum sollte ich .env-Dateien ignorieren?

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!

Kann ich .gitignore-Regeln für einzelne Dateien überschreiben?

Ja, auf mehrere Arten! Git bietet flexible Möglichkeiten, die .gitignore zu umgehen:

1. Negation in der .gitignore:

*.log
!wichtig.log

2. Force-Add (einmalig):

git add -f wichtige-datei.log

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:

git check-ignore -v datei.txt

Zeigt an, welche Regel die Datei ignoriert.

Wie teste ich, ob meine .gitignore funktioniert?

Git bietet mehrere Befehle, um die .gitignore zu testen:

1. Status prüfen:

git status --ignored

Zeigt ignorierte Dateien explizit an.

2. Einzelne Datei prüfen:

git check-ignore -v pfad/zur/datei.txt

Zeigt die Regel, die die Datei ignoriert (oder keine Ausgabe = nicht ignoriert).

3. Liste aller ignorierten Dateien:

git ls-files --others --ignored --exclude-standard

4. Test mit einer Dummy-Datei:

  • Erstelle eine Datei, die ignoriert werden sollte
  • Führe git status aus
  • Die Datei sollte nicht auftauchen
Was ist der Unterschied zwischen .gitignore und .gitkeep?

Die beiden Dateien haben komplett unterschiedliche Aufgaben:

Eigenschaft.gitignore.gitkeep
ZweckDateien ignorierenLeere Ordner versionieren
FunktionGit-BefehlKonvention (kein Git-Feature!)
InhaltIgnorier-RegelnMeist leer
PlatzierungRepository-RootIn 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.

logs/
├── .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

Timestamp Converter

Unix-Zeitstempel in lesbare Daten umwandeln und umgekehrt.

Zum Tool
QR-Code Generator

Erstelle QR-Codes mit Logo, Farben und Fehlerkorrektur-Level.

Zum Tool
Barcode Generator

Erstelle Barcodes in 12+ Formaten mit Live-Vorschau und Download.

Zum Tool
Hash Generator

MD5, SHA-1, SHA-256 und SHA-512 für Text und Dateien.

Zum Tool