.gitignore-Generator — Vorlagen für jede Sprache & IDE
Kombiniere .gitignore-Vorlagen für Sprachen, Frameworks, Editoren und Betriebssysteme zu einer sauberen Datei.
### Node.js ### # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* lerna-debug.log* .pnpm-debug.log* # Runtime data pids *.pid *.seed *.pid.lock # Coverage coverage *.lcov .nyc_output # Dependencies node_modules/ jspm_packages/ bower_components # Caches .npm .eslintcache .stylelintcache .cache .parcel-cache *.tsbuildinfo .node_repl_history *.tgz # Yarn .yarn/cache .yarn/unplugged .yarn/build-state.yml .yarn/install-state.gz .pnp.* # Environment .env .env.* !.env.example # Build output dist build out ### macOS ### # General .DS_Store .AppleDouble .LSOverride # Custom folder icons (the real file name is "Icon" followed by a carriage return) Icon? # Thumbnails ._* # Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd .Spotlight-V100 .TemporaryItems .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent # Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk ### Windows ### # Windows thumbnail cache files Thumbs.db Thumbs.db:encryptable ehthumbs.db ehthumbs_vista.db # Dump file *.stackdump # Folder config file [Dd]esktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msix *.msm *.msp # Windows shortcuts *.lnk ### Visual Studio Code ### .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json !.vscode/*.code-snippets # Local History for Visual Studio Code .history/ # Built Visual Studio Code Extensions *.vsix
Browser speichern einen Download mit Punkt am Anfang oft als „gitignore.txt“; benenne ihn im Wurzelverzeichnis deines Projekts exakt in .gitignore um.
Läuft komplett in deinem Browser. Die Vorlagen sind in die Seite eingebaut; nichts wird abgerufen oder gesendet. Alle kostenlosen Tools ansehen.
Ein Problem gefunden oder etwas, das besser sein könnte? Wir lesen jede Nachricht und beheben Fehler schnell.
Dieser .gitignore-Generator erstellt eine .gitignore-Datei aus Vorlagen für die Sprachen, Frameworks, Editoren und Betriebssysteme in deinem Projekt. Wähle Node.js, Python, Unity, JetBrains, macOS oder eine der über 60 weiteren, oder starte mit einem Stack wie „Next.js-App“, und die Vorlagen werden zu einer Datei mit einer Überschrift pro Abschnitt zusammengeführt. Muster, die in mehreren Vorlagen vorkommen, werden nur einmal geschrieben.
Die Vorlagen basieren auf der weit verbreiteten Sammlung github/gitignore, sind um lange Kommentarblöcke gekürzt und in die Seite eingebaut – sie funktioniert also offline, und nichts über dein Projekt wird irgendwohin gesendet. Duplikate werden vorsichtig entfernt, weil bei .gitignore die Reihenfolge zählt: Sobald eine Vorlage etwas mit einer „!“-Regel wieder einschließt, werden spätere Duplikate behalten, statt zu riskieren, dass sich ändert, was ignoriert wird. Eine .gitignore wirkt nur auf nicht verfolgte Dateien; zu Dateien, die Git bereits verfolgt, siehe die FAQ.
So funktioniert’s
- Klicke auf einen Schnellstart-Stack oder suche nach Vorlagen und hake die an, die dein Projekt nutzt: Sprache, Framework, Editor und Betriebssystem.
- Entferne alle, die du nicht brauchst, mit dem × auf ihrem Chip.
- Ergänze projektspezifische Regeln, etwa ein Verzeichnis uploads/, unter „Eigene Regeln“.
- Kopiere das Ergebnis oder lade es herunter und speichere es als .gitignore im Wurzelverzeichnis deines Repositorys.
- Committe sie: git add .gitignore && git commit -m "Add .gitignore".
Häufige Fragen
Warum wird eine Datei noch verfolgt, obwohl ich sie in die .gitignore eingetragen habe?
Eine .gitignore verhindert nur, dass nicht verfolgte Dateien hinzugefügt werden. Verfolgt Git die Datei bereits, bleibt das so. Entferne sie aus dem Index, ohne sie von der Festplatte zu löschen, mit git rm --cached path/to/file (oder git rm -r --cached folder/) und committe dann. Enthielt sie ein Geheimnis, steckt es weiterhin in deiner History und sollte ausgetauscht werden.
Sollte ich die .gitignore-Datei committen?
Ja. Sie gehört ins Repository, damit alle, die das Projekt klonen, dieselben Build-Ausgaben und Abhängigkeitsordner ignorieren. Regeln, die nur für dich gelten, etwa die Dateien deines Editors, gehören für ein einzelnes Repository in .git/info/exclude oder in eine globale Ignore-Datei, die du mit git config --global core.excludesFile ~/.gitignore_global festlegst.
Sollte package-lock.json oder yarn.lock ignoriert werden?
Nein, bei Anwendungen committest du die Lock-Datei. Sie hält die exakten getesteten Versionen der Abhängigkeiten fest, sodass jede Installation und jeder CI-Lauf denselben Baum bekommt. Dasselbe gilt für poetry.lock, Pipfile.lock, Cargo.lock bei Binärprogrammen, Gemfile.lock und composer.lock. Keine der Vorlagen hier ignoriert sie.
Was bedeuten die Muster?
Ein Schrägstrich am Ende (build/) trifft nur Verzeichnisse. Ein Schrägstrich am Anfang (/build) bindet das Muster an das Verzeichnis, in dem die .gitignore liegt. * trifft alles außer einem Schrägstrich, ** trifft über Verzeichnisse hinweg (logs/**/*.log), und ? trifft genau ein Zeichen. Eine Zeile, die mit ! beginnt, schließt wieder ein, was ein früheres Muster ausgeschlossen hat, und # leitet einen Kommentar ein, aber nur am Zeilenanfang.
Warum funktioniert meine Negationsregel (!) nicht?
Git kann eine Datei nicht wieder einschließen, wenn eines ihrer übergeordneten Verzeichnisse ausgeschlossen ist, weil es in ein ignoriertes Verzeichnis gar nicht erst hineinschaut. Ignoriere statt des Ordners (logs/) dessen Inhalt (logs/*) und schließ die Datei dann wieder ein (!logs/.gitkeep). Auch die Reihenfolge zählt: Die !-Zeile muss nach dem Muster stehen, das sie überschreibt.
Kann ich prüfen, warum eine Datei ignoriert wird?
Ja: git check-ignore -v path/to/file gibt die .gitignore-Datei, die Zeilennummer und das passende Muster aus. git status --ignored listet alle ignorierten Dateien im Arbeitsverzeichnis auf.
Was in eine .gitignore gehört
• Abhängigkeiten, die ein Paketmanager neu installiert: node_modules/, vendor/, .venv/, Pods/.
• Build-Ausgaben und Caches: dist/, build/, target/, .next/, __pycache__/, *.class, Coverage-Berichte.
• Lokale Geheimnisse und Umgebungsdateien: .env, *.pem, Credentials-JSON. Committe stattdessen eine .env.example mit Platzhalterwerten.
• Editor- und Betriebssystem-Krempel: .DS_Store, Thumbs.db, .idea/, das meiste aus .vscode/.
• Logs, Crash-Dumps und lokale Datenbanken: *.log, *.sqlite (es sei denn, die Datenbank ist eine bewusste Fixture).
Im Repository bleiben: Quellcode, Lock-Dateien, Konfiguration, die jeder Entwickler braucht, und gemeinsame Editor-Einstellungen wie .vscode/extensions.json, die die VS-Code-Vorlage bewusst wieder einschließt.
Wo Git nach Ignore-Regeln sucht
Git kombiniert mehrere Quellen, von höchster zu niedrigster Priorität: Muster auf der Kommandozeile; .gitignore-Dateien im selben Verzeichnis wie der Pfad und dann in jedem übergeordneten Verzeichnis bis zum Wurzelverzeichnis des Repositorys (eine .gitignore in einem Unterverzeichnis gilt nur darunter); .git/info/exclude, das lokal ist und nie committet wird; und die globale Datei aus core.excludesFile, standardmäßig ~/.config/git/ignore. Leg Regeln für Betriebssystem und Editor in die globale Datei, wenn die .gitignore-Dateien deiner Projekte nur vom Projekt handeln sollen.
Ähnliche kostenlose Tools
- Chmod-Rechner — Setze Häkchen für Lesen, Schreiben und Ausführen und erhalte den Oktalmodus und den chmod-Befehl – oder entschlüssle 755, 644 und rwxr-xr-x.
- Docker Run ⇄ Compose — Mach aus einem docker-run-Befehl einen Service in einer docker-compose.yml – oder aus einem Compose-Service wieder docker run.
- Regex-Tester — Teste einen regulären Ausdruck an Beispieltext mit Live-Hervorhebung der Treffer, Capture Groups und Vorschau fürs Ersetzen. Kostenlos, im Browser.
- JSON Formatter — JSON formatieren, minifizieren und validieren, Parse-Fehler mit Zeile und Spalte. Im Browser, ohne Upload.