.gitignore-Generator

Nächste

Ein fehlendes .gitignore ist der Grund, warum API-Schlüssel in die Git-Historie gelangen und warum 400 MB node_modules nach GitHub gepusht werden. Dieser Generator gibt ein getestetes Template für deinen Stack, Node, Python, Rails oder Laravel, aus, bei dem Abhängigkeitsordner, Build-Ausgaben und Umgebungsdateien bereits ausgeschlossen sind.

So generierst du ein .gitignore

  1. 1

    Wähle deinen Stack

    Node, Python, Rails oder Laravel, jeder hat seine eigenen transienten Artefakte.

  2. 2

    Generieren

    Das Tool kombiniert allgemeine Regeln (.DS_Store, .env, node_modules) mit stack-spezifischen.

  3. 3

    Als .gitignore speichern

    Platziere die Datei im Wurzelverzeichnis des Repos vor dem ersten Commit.

  4. 4

    Committe es

    .gitignore selbst sollte verfolgt werden, es ist Teil des Projekts, keine lokale Präferenz.

Warum der allgemeine Block immer vorhanden ist

Regel Grund zum Ignorieren
.DS_Store macOS Finder-Metadaten, für andere Maschinen nie nützlich
.env Geheimnisse: API-Schlüssel, Datenbankpasswörter, OAuth-Anmeldeinformationen
.env.* Umgebungs-spezifische Varianten (Staging, Produktion)
!.env.example Aber behalte die Beispieldatei, damit neue Mitwirkende die Struktur kennen
node_modules/ Installierbar aus package.json; riesig und plattformspezifisch

Stack-spezifische Ergänzungen

Stack Wichtige Ergänzungen
Node dist/, coverage/, npm-debug.log*
Python __pycache__/, .venv/, *.pyc, .pytest_cache/
Rails log/*, tmp/*, storage/*, /public/assets
Laravel vendor/, /storage/*.key, /public/build, .phpunit.cache/

Häufige Fehler

  • Frühes Committen von .env, dann Hinzufügen zu .gitignore. Die Datei ist bereits in der Historie, verwende git rm --cached .env und rotiere jedes Geheimnis, das darin war.
  • Ignorieren von .env.example zusammen mit .env. Teamkollegen benötigen das Beispiel zum Bootstrappen.
  • Zu breite Globs: *.log kann produktionskritische Log-Konfigurationen verbergen; sei spezifischer, wenn du Zweifel hast.
  • Plattformspezifische Dateien, die nicht lokal zu dir gehören: trage sie über ein gemeinsames .gitignore bei, nicht über ein persönliches.

Persönliches vs. Projekt-gitignore

Für Editor-Dateien, die nur für dich einzigartig sind (JetBrains IDEs, Emacs), verwende dein globales gitignore (~/.config/git/ignore), anstatt jedes Projekt aufzublähen.

Häufig gestellte Fragen

Weil .gitignore nur verhindert, dass nicht verfolgte Dateien hinzugefügt werden. Führe git rm --cached path/to/file aus, um eine bereits committete Datei nicht mehr zu verfolgen, committe die Änderung, und die Regel wird sie dann ausschließen.

Nein, Lockfiles sollten committet werden, damit jede Umgebung die exakt gleichen Versionen installiert. Sie zu ignorieren führt zur “funktioniert auf meinem Rechner”-Klasse von Bugs zurück.

Ein führender Schrägstrich verankert das Muster am Wurzelverzeichnis des Repos. /logs entspricht nur einem obersten logs/-Verzeichnis, während logs jedem logs-Verzeichnis beliebiger Tiefe entspricht.

Nein. Die generierte Datei wird nicht gespeichert oder verfolgt. Ihre Stack-Auswahl wird an unseren Server gesendet, damit die Regeln erstellt werden können; im mehrstufigen Modus steht sie auch im Seitenlink. Der Dateiinhalt wird nicht aufbewahrt.

Verwandte Tools

Tool in anderen Sprachen verfügbar