Direkt zum Inhalt

Wie man .gitignore verwendet: Eine praktische Einführung mit Beispielen

Lerne, wie du .gitignore verwendest, um dein Git-Repository sauber zu halten. Dieses Tutorial behandelt die Grundlagen, häufige Anwendungsfälle und praktische Beispiele, um dir den Einstieg zu erleichtern!
Aktualisierte 4. März 2025  · 17 Min. Lesezeit

Wenn du mit Git arbeitest, ist es nicht nur eine Best Practice, dein Repository sauber und organisiert zu halten - es ist unerlässlich für eine reibungslose Zusammenarbeit und eine effiziente Versionskontrolle. Hier kommt .gitignore ins Spiel. Diese praktische Datei teilt Git mit, welche Dateien ignoriert werden sollen. So wird unnötiges Durcheinander vermieden und deine Commits konzentrieren sich auf das, was wirklich wichtig ist.

Ohne .gitignore kann sich dein Projektarchiv schnell mit temporären Dateien, Protokollen und anderen Dingen füllen, die nicht in die Versionskontrolle gehören. Schlimmer noch, du könntest versehentlich sensible Informationen weitergeben.

In diesem Tutorial lernst du, wie du eine .gitignore Datei erstellst und verwendest, um Ordnung in dein Projekt zu bringen, häufige Fallstricke zu vermeiden und effektiver mit Git zu arbeiten. Lass uns eintauchen!

Was ist eine .gitignore-Datei?

Eine .gitignore Datei ist eine Konfigurationsdatei, die in Git verwendet wird, um dem Versionskontrollsystem mitzuteilen, welche Dateien oder Verzeichnisse ignoriert werden sollen, wenn Änderungen bereitgestellt oder übertragen werden. 

Sie verhindert, dass unnötige Dateien - wie temporäre, vom System generierte oder build-bezogene Dateien - dein Repository verstopfen. Ein aufgeräumtes Projektarchiv erleichtert die Zusammenarbeit und stellt sicher, dass nur wichtige Dateien erfasst werden.

Die Datei .gitignore ist eine einfache Textdatei, die im Stammverzeichnis deines Git-Repositorys liegt. Sie enthält Muster, die Git mitteilen, welche Dateien oder Verzeichnisse ignoriert werden sollen. Diese Muster können an die Bedürfnisse deines Projekts angepasst werden und helfen dir, ein gut organisiertes Repository zu verwalten.

Neu bei Git und GitHub? Mit diesem GitHub- und Git-Tutorial bekommst du eine anfängerfreundliche Einführung in die Versionskontrolle.

Hier sind einige gängige Kategorien von Dateien und Verzeichnissen, die du ignorieren solltest:

  • Artefakte bauen: Dateien, die während des Build-Prozesses erzeugt werden und aus dem Quellcode wiederhergestellt werden können, wie z.B.:
    • dist/build/ (Frontend- und Backend-Build-Ausgaben)
    • target/ (Java und andere kompilierte Sprachversionen)
  • Abhängigkeiten: Paketmanagementsysteme erstellen Verzeichnisse für installierte Bibliotheken, die nicht nachverfolgt werden sollten:
    • node_modules/ (Node.js)
    • vendor/ (PHP, Composer)
    • .venv/venv/ (Virtuelle Python-Umgebungen)
  • Systemspezifische Dateien: Diese Dateien werden automatisch vom Betriebssystem erzeugt und tragen nicht zum Projekt bei:
    • .DS_Store (macOS)
    • Thumbs.db (Windows)
  • IDE-Konfigurationsdateien: Jeder Entwickler kann eine andere Entwicklungsumgebung verwenden, daher sollten seine persönlichen Einstellungen nicht in die Versionskontrolle aufgenommen werden:
    • .vscode/ (VS-Code)
    • .idea/ (JetBrains IDEs)
    • .project, .settings/ (Eclipse)
  • Logs und temporäre Dateien: Logs, Caches und temporäre Dateien sollten ignoriert werden, um unnötigen Ballast zu vermeiden:
    • *.log, npm-debug.log*, yarn-debug.log*, yarn-error.log* (Logs von verschiedenen Tools)
    • *.tmp*.bak (Temporäre und Sicherungsdateien)
    • .mypy_cache/__pycache__/ (Python-Caches)
    • .ipynb_checkpoints/ (Jupyter Notebook Checkpoints)
  • Umwelt- und Geheimdateien: Sensible Anmeldedaten und umgebungsspezifische Konfigurationen sollten niemals übertragen werden:
    • .env, .env.local, .env.development, .env.production
    • secrets.jsonconfig.json (Sensible Konfigurationsdateien)
  • Datenbank und Speicherdateien: Diese werden lokal erstellt und sollten nicht in die Versionskontrolle aufgenommen werden:
    • *.sqlite, *.sqlite3, *.db (SQLite-Datenbankdateien)
    • dump.rdb (Redis-Datenbank-Dump)
  • CI/CD und Abdeckungsdateien: Testabdeckungsberichte und andere CI/CD-Artefakte sollten ignoriert werden:
    • coverage/*.lcov (Codeabdeckungsberichte)
    • .tox/.pytest_cache/ (Python-Testdateien)

Du musst Git installieren? Folge unserer Schritt-für-Schritt-Anleitunge in diesem Git-Installationstutorial, um die Einrichtung schnell zu erledigen.

Lerne heute die Git-Grundlagen

Für Anfänger: Master-Versionskontrolle mit Git.
Kostenloses Lernen beginnen

Syntax von .gitignore

Wie bereits erwähnt, enthalten .gitignore Dateien Muster, die mit den Dateinamen in deinem Repository abgeglichen werden, um festzustellen, ob sie ignoriert werden sollen oder nicht.

Grundlegende Syntax

Im Kern besteht die Datei .gitignore aus Zeilen, die jeweils ein zu ignorierendes Muster darstellen. Muster können übereinstimmen:

  • Besondere Dateien
  • Dateitypen
  • Verzeichnisse 

Die Datei unterstützt auch Kommentare, die mit # eingefügt werden können, sowie Leerzeilen, um die Lesbarkeit zu verbessern.

Hier ist ein Überblick über die Grundstruktur:

  • Eine bestimmte Datei ignorieren: Du kannst den Dateinamen direkt auflisten, um ihn zu ignorieren.
secrets.txt
  • Ein ganzes Verzeichnis ignorieren: Indem du ein / am Ende des Verzeichnisnamens hinzufügst, kannst du alles innerhalb dieses Verzeichnisses ignorieren.
logs/
  • Alle Dateien eines bestimmten Typs ignorieren: Wildcards (*) können verwendet werden, um alle Dateien mit einer bestimmten Erweiterung zu ignorieren.
*.py
  • Negation: Du kannst ! verwenden, um ein Muster zu negieren und bestimmte Dateien oder Verzeichnisse explizit zu verfolgen, die sonst ignoriert werden würden.
*.txt  # Ignores all .txt files
!readme.txt  # Except for readme.txt

Wie man eine .gitignore-Datei erstellt und verwendet

Die Erstellung und Verwendung von .gitignore ist ziemlich einfach. In diesem Abschnitt gehe ich die einzelnen Schritte durch.

Erstellen einer .gitignore-Datei

Schritt 1: Navigiere zum Stammverzeichnis deines Repositorys. Die Datei .gitignore wird normalerweise im Stammverzeichnis eines Git-Projekts abgelegt. Öffne dein Terminal oder deine Kommandozeile und navigiere zum Stammverzeichnis deines Git-Repositorys:

cd /path/to/your/repo

Schritt 2: Erstelle die Datei .gitignore. Wenn du im Stammverzeichnis bist, erstelle die Datei .gitignore mit einem beliebigen Texteditor oder indem du einen Befehl im Terminal ausführst, wie zum Beispiel:

touch .gitignore

Schritt 3: Füge Muster in die Datei ein. Öffne die Datei .gitignore in einem Texteditor und füge die notwendigen Muster hinzu, um Dateien oder Verzeichnisse zu ignorieren. Jede Linie steht für ein anderes Muster.

Hier ist ein Beispiel für eine .gitignore Datei, die häufig in einem Basisprojekt verwendet wird:

# Ignore node_modules and dependency directories
node_modules/
vendor/

# Ignore build artifacts
dist/
build/
*.log

# Ignore system-generated files
.DS_Store
Thumbs.db

# Ignore environment and secret files
.env
config.json

Wenn du die notwendigen Muster hinzugefügt hast, speichere die Datei. Git ignoriert diese Dateien jetzt automatisch, wenn du Änderungen bereitstellst oder überträgst.

Schritt 4: Übertrage die Datei in das Repository. Es ist wichtig, die Datei .gitignore an das Repository zu übergeben, damit alle Mitarbeiter dieselben Ignorierregeln verwenden. So wird die Einheitlichkeit des Projekts für alle Beteiligten sichergestellt.

git add .gitignore
git commit -m "Add .gitignore file"
git push

Sobald die Datei .gitignore übertragen ist, legst du gemeinsame Ignorierregeln für das gesamte Team fest.

Du willst Pushing und Pulling in Git beherrschen? In diesem Git Push- und Pull-Tutorial erfährst du, wie du deine Arbeit mit entferntene Repositories synchronisieren kannst.

Best Practices für die Verwendung von .gitignore

Das Anlegen einer .gitignore Datei ist zwar ein einfacher Teil der Pflege eines sauberen Git-Repositorys, doch sollten einige Best Practices befolgt werden, um sicherzustellen, dass die Datei im Laufe der Zeit effektiv verwaltet wird.

Verwende eine globale .gitignore

Für Entwickler, die mit mehreren Projekten arbeiten, gibt es bestimmte Dateien, die du aus jedem Projektarchiv ausschließen möchtest, unabhängig vom Projekttyp.

Anstatt sie in die .gitignore Datei jedes Projekts einzufügen, kannst du eine globale .gitignore konfigurieren, die für alle Repositories auf deinem System gilt.

So konfigurierst du eine globale .gitignore Datei:

  • Erstelle eine .gitignore_global Datei:
touch ~/.gitignore_global
  • Füge Muster für Dateien hinzu, die du global ignorieren willst, wie z.B.:
.DS_Store
*.log
/.vscode/
/.idea/
  • Stelle Git so ein, dass es die globale .gitignore verwendet:
git config --global core.excludesfile ~/.gitignore_global

Vorhandene Vorlagen nutzen

Anstatt für jedes neue Projekt eine .gitignore Datei von Grund auf neu zu erstellen, kannst du vorkonfigurierte .gitignore Vorlagen für bestimmte Sprachen, Frameworks oder Umgebungen nutzen.

Eine der besten Quellen für diese Vorlagenist das offizielle .gitignore-Repository von GitHub, wo du .gitignore Dateien findest, die auf Hunderte von Programmiersprachen und Frameworks zugeschnitten sind.

Überprüfe .gitignore regelmäßig

Wenn sich ein Projekt weiterentwickelt, müssen möglicherweise neue Dateien und Verzeichnisse in die Datei .gitignore aufgenommen werden. Es ist wichtig, dass du deine Datei regelmäßig überprüfst und aktualisierst, damit sie den aktuellen Stand deiner Projekte widerspiegelt.

Einige Szenarien, in denen du die Datei .gitignore aktualisieren musst, sind:

  • Die Einführung neuer Werkzeuge oder Bibliotheken, die zusätzliche Dateien erzeugen (z. B. der Wechsel zu einem neuen Build-System).
  • Wenn du Verzeichnisse umgestaltest oder neu organisierst, können neue Dateien entstehen, die ausgeschlossen werden sollten.
  • Entfernen von veralteten Dateien oder Verzeichnissen, die nicht mehr Teil des Projekts sind.

Fehlersuche bei .gitignore

Auch wenn du eine .gitignore Datei eingerichtet hast, kann es vorkommen, dass bestimmte Dateien verfolgt werden oder dass Muster nicht wie erwartet funktionieren. In diesem Abschnitt geht es um zwei häufige Fehlerquellen und wie du sie beheben kannst.

Lernpfad für bereits übertragene Dateien 

Die Datei .gitignore gilt nicht rückwirkend für bereits übertragene Dateien. 

Wenn du einen Lernpfad zu .gitignore hinzufügst, nachdem bestimmte Dateien bereits committed wurden, verfolgt Git sie weiter, auch wenn sie mit dem Muster in der Datei .gitignore übereinstimmen.

Um das Verfolgen von Dateien, die bereits übertragen wurden, zu beenden, befolge diese Schritte:

  • Entferne die Dateien aus dem Lernpfad von Git: Verwende den Befehl git rm, um sie aus dem Repository zu entfernen, sie aber in deinem Arbeitsverzeichnis zu behalten.
git rm --cached <file_or_directory_name>
  • Bestätige die Änderungen: Nachdem du die Dateien aus dem Lernpfad von Git entfernt hast, musst du die Änderungen festschreiben, um sicherzustellen, dass die Dateien nicht mehr Teil der Versionskontrollhistorie sind.
git commit -m "Stop tracking ignored files"
  • Pushe die Änderungen in das entfernte Repository: Zum Schluss schiebst du die Änderungen in das entfernte Repository, um sicherzustellen, dass die Dateien nicht mehr verfolgt werden.
git push

Nachdem du diese Schritte durchgeführt hast, hört Git auf, die Dateien zu verfolgen. Die übertragene Datei befindet sich weiterhin in deinem Arbeitsverzeichnis, wird aber bei zukünftigen Übertragungen auf der Grundlage deiner .gitignore Muster ignoriert.

Sicherstellen, dass die Muster funktionieren 

Manchmal stellst du fest, dass bestimmte Dateien, von denen du erwartet hast, dass sie ignoriert werden, immer noch im Git-Status auftauchen oder nachverfolgt werden. 

Befolge diese Schritte, um sicherzustellen, dass deine .gitignore Muster richtig funktionieren:

  • Überprüfe den Status deiner Dateien: Mit dem Befehl git status kannst du sehen, welche Dateien von Git verfolgt werden. So kannst du überprüfen, ob deine ignorierten Dateien noch aufgelistet sind.
git status
  • Achte darauf, dass das Muster korrekt ist: Überprüfe die Syntax deiner .gitignore Muster, um sicherzustellen, dass sie richtig formatiert sind. Zum Beispiel:
    • Stelle sicher, dass du den richtigen Verzeichnispfad verwendest (relativ zum Stammverzeichnis des Repositorys).
    • Füge eine / hinzu, um bestimmte Verzeichnisse anzusteuern, damit nicht alle Dateien mit ähnlichen Namen verfolgt werden.
  • Aktualisiere den Cache: Wenn du deine .gitignore Datei kürzlich aktualisiert hast und die Änderungen nicht übernommen werden, hält Git möglicherweise an seinem vorherigen Cache fest. Um den Cache zu aktualisieren, führst du den folgenden Befehl aus:
git rm -r --cached .
git add .
git commit -m "Refresh .gitignore"
  • Prüfe auf Ausnahmen: Manchmal kann ein bestimmtes Muster in .gitignore durch ein spezifischeres Muster an anderer Stelle in der Datei überschrieben werden. Überprüfe deine Regeln, um sicherzustellen, dass es keine widersprüchlichen Muster gibt.

Du suchst nach einer schnellen Git-Referenz? Mit diesem Git-Spickzettel hast du die wichtigsten Befehle immer griffbereitertips.

Fazit

Eine .gitignore Datei mag klein erscheinen, aber sie spielt eine große Rolle dabei, dein Git-Repository sauber und übersichtlich zu halten. Indem du unnötige Dateien - wie Abhängigkeiten, Build-Artefakte und vom System generierte Dateien - ignorierst, stellst du sicher, dass dein Projekt organisiert und frei von Unordnung bleibt.

In diesem Tutorial hast du gelernt, wie du eine .gitignore Datei erstellst, Muster hinzufügst und Best Practices anwendest, um dein Repo effizient zu halten. Mit diesen Fähigkeiten vermeidest du Kopfschmerzen bei der Versionskontrolle und erleichterst die Zusammenarbeit für alle in deinem Team.

Wenn du deine Git-Kenntnisse vertiefen möchtest, findest du in Git Fundamentals einen strukturierten Lernpfad. Du kannst auch praktische Kurse wie Foundations of Git und Introduction to GitHub Concepts besuchen, um dir ein solides Verständnis der Versionskontrolle und der Arbeitsabläufe der Zusammenarbeit anzueignen!

Lerne heute die Git-Grundlagen

Für Anfänger: Master-Versionskontrolle mit Git.

FAQs

Entfernt .gitignore Dateien, die bereits von Git verfolgt werden?

Nein, .gitignore verhindert nur, dass neue Dateien getrackt werden. Wenn eine Datei bereits in der Versionskontrolle ist, wird sie durch das Hinzufügen zu .gitignore nicht entfernt. Um den Lernpfad für eine Datei, die bereits übertragen wurde, zu beenden, musst du Folgendes verwenden:

git rm --cached filename

Dann bestätige die Änderungen.

Kann ich mehrere .gitignore-Dateien in einem Projekt haben?

Ja! Du kannst .gitignore Dateien in verschiedenen Verzeichnissen innerhalb deines Projekts ablegen. Jeder gilt nur für Dateien in seinem Verzeichnis und Unterverzeichnissen.

Wie kann ich alle Dateien eines bestimmten Typs ignorieren?

Du kannst Wildcards verwenden. Zum Beispiel, um alle .log Dateien zu ignorieren:

*.log

Dadurch werden alle Dateien mit der Erweiterung .log ausgeschlossen.

Kann ich eine bestimmte Datei ignorieren, sie aber trotzdem für meine eigene Arbeit verfolgen?

Ja, aber du musst manuell sicherstellen, dass sie nicht übertragen wird. Eine Möglichkeit, dies zu tun, ist die Verwendung von git update-index --assume-unchanged filename, einer vorübergehenden Lösung. Ein besserer Ansatz ist die Verwendung einer globalen .gitignore Datei (siehe nächste Frage).

Was ist eine globale .gitignore-Datei, und wie richte ich sie ein?

Eine globale .gitignore wird verwendet, um Dateien in allen Repositories auf deinem Rechner zu ignorieren. Dies ist nützlich für systemspezifische Dateien wie .DS_Store oder Thumbs.db. Um eine globale .gitignore zu erstellen und zu konfigurieren:

git config --global core.excludesfile ~/.gitignore_global

Füge dann nach Bedarf Muster auf ~/.gitignore_global hinzu.

Warum funktioniert meine .gitignore-Datei nicht?

Wenn .gitignore eine Datei nicht ignoriert, überprüfe, ob die folgenden Probleme vorliegen:

  • Die Datei ist bereits getrackt - du musst sie mit git rm --cached filename entfernen.
  • Das Muster .gitignore könnte falsch sein - überprüfe deine Syntax.
  • Es gibt eine widersprüchliche Regel: Git wendet die letzte übereinstimmende Regel an, also ist die Reihenfolge wichtig.

Kann ich ein Verzeichnis ignorieren, aber eine bestimmte Datei darin behalten?

Ja! Verwende eine Ausschlussregel. Zum Beispiel, um alles in einem Ordner zu ignorieren, außer keepme.txt:

folder_name/*
!folder_name/keepme.txt

Was passiert, wenn zwei Teammitglieder unterschiedliche .gitignore-Dateien haben?

Wenn .gitignore in das Repository übertragen wird, gelten für alle Teammitglieder die gleichen Regeln. Wenn jedoch eine Person .gitignore lokal ändert, die Änderung aber nicht festschreibt, können sie unterschiedliche ignorierte Dateien haben. Am besten ist es, .gitignore in einer vom Team vereinbarten Version zu halten.

Wie kann ich überprüfen, welche Dateien ignoriert werden?

Führe den folgenden Befehl aus, um zu sehen, was .gitignore ausschließt:

git status --ignored

Oder, für eine ausführlichere Liste:

git check-ignore -v filename

Kann ich das Ignorieren einer Datei in .gitignore rückgängig machen?

Ja! Entferne die Datei von .gitignore und verfolge sie dann erneut mit dem Lernpfad:

git add filename

Dann bestätige die Änderungen.


Kurtis Pykes 's photo
Author
Kurtis Pykes
LinkedIn
Themen

Lerne mit diesen Kursen mehr über Git!

Zertifizierung verfügbar

Kurs

Einführung in Git

2 hr
15.2K
Entdecke die Grundlagen von Git für die Versionskontrolle in deinen Software- und Datenprojekten.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Mehr anzeigenMehr anzeigen