Bei der Arbeit mit Git ist es nicht nur bewährte Praxis, das Repository sauber und organisiert zu halten, sondern auch für reibungslose Zusammenarbeit und effiziente Versionskontrolle unerlässlich. Hier kommt die Datei .gitignore
ins Spiel. Diese praktische Datei sagt Git, welche Dateien ignoriert werden sollen, um unnötigen Ballast zu vermeiden und sicherzustellen, dass Ihre Commits auf das Wesentliche konzentriert sind.
Ohne .gitignore
kann Ihr Repository schnell mit temporären Dateien, Protokollen und anderen Dingen, die nicht zur Versionskontrolle gehören, gefüllt werden. Noch schlimmer ist, dass Sie versehentlich sensible Informationen teilen könnten.
In diesem Tutorial lernen Sie, wie Sie eine .gitignore
-Datei erstellen und verwenden, um Ihr Projekt sauber zu halten, gängige Fallstricke zu vermeiden und effektiver mit Git zu arbeiten. Legen wir los!
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 vorgenommen oder committet werden.
Sie verhindert, dass unnötige Dateien – wie temporäre, systemgenerierte oder build-bezogene Dateien – Ihr Repository überfluten. Ein sauberes Repository erleichtert die Zusammenarbeit und stellt sicher, dass nur wesentliche Dateien verfolgt werden.
Die Datei .gitignore
ist eine einfache Textdatei, die im Stammverzeichnis Ihres Git-Repositorys platziert wird. Sie enthält Muster, die Git mitteilen, welche Dateien oder Verzeichnisse ignoriert werden sollen. Diese Muster können angepasst werden, um den Bedürfnissen Ihres Projekts gerecht zu werden und Ihnen dabei zu helfen, ein gut organisiertes Repository zu pflegen.
Neu bei Git und GitHub? Erhalten Sie eine benutzerfreundliche Einführung in die Versionskontrolle mit diesem GitHub- und Git-Tutorial.
Hier sind einige gängige Kategorien von Dateien und Verzeichnissen, die Sie in Betracht ziehen sollten zu ignorieren:
- Build-Artefakte: Dateien, die während des Build-Prozesses generiert werden und aus dem Quellcode neu erstellt werden können, wie z. B.:
dist/
,build/
(Frontend- und Backend-Build-Ausgaben)target/
(Java und andere kompilierte Sprachen)- Abhängigkeiten: Paketverwaltungssysteme erstellen Verzeichnisse für installierte Bibliotheken, die nicht verfolgt werden sollten:
node_modules/
(Node.js)vendor/
(PHP, Composer).venv/
,venv/
(Python-Virtual-Umgebungen)- Systemspezifische Dateien: Diese Dateien werden automatisch vom Betriebssystem generiert und tragen nicht zum Projekt bei:
.DS_Store
(macOS)Thumbs.db
(Windows)- IDE-Konfigurationsdateien: Jeder Entwickler kann eine andere Entwicklungsumgebung verwenden, daher sollten ihre persönlichen Einstellungen nicht in der Versionskontrolle enthalten sein:
.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ötige Unordnung zu vermeiden:
*.log
,npm-debug.log*
,yarn-debug.log*
,yarn-error.log*
(Logs von verschiedenen Tools)*.tmp
,*.bak
(Temporäre und Backup-Dateien).mypy_cache/
,__pycache__/
(Python Caches).ipynb_checkpoints/
(Jupyter Notebook Checkpoints)- Umgebungs- und Geheimdateien: Sensible Zugangsdaten und umgebungsspezifische Konfigurationen sollten niemals übernommen werden:
.env
,.env.local
,.env.development
,.env.production
secrets.json
,config.json
(Sensible Konfigurationsdateien)- Datenbank- und Speicherdateien: Diese werden lokal generiert und sollten nicht in der Versionskontrolle enthalten sein:
*.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)
Müssen Sie Git installieren? Befolgen Sie unseren Schritt-für-Schritt-Leitfaden in diesem Git-Installations-Tutorial, um schnell einzurichten.
Syntax von .gitignore
Wie erwähnt, enthalten .gitignore
-Dateien Muster, die mit Dateinamen in Ihrem Repository abgeglichen werden, um zu bestimmen, ob sie ignoriert werden sollen.
Grundlegende Syntax
Im Kern besteht die .gitignore
-Datei aus Zeilen, die jeweils ein zu ignorierendes Muster darstellen. Muster können übereinstimmen:
- Spezifische Dateien
- Dateitypen
- Verzeichnisse
Die Datei unterstützt auch Kommentare, die durch das Starten einer Zeile mit #
hinzugefügt werden können, sowie Leerzeilen zur Verbesserung der Lesbarkeit.
Hier ist ein Überblick über die grundlegende Struktur:
- Eine bestimmte Datei ignorieren:Sie können den Dateinamen direkt auflisten, um ihn zu ignorieren.
secrets.txt
- Gesamtes Verzeichnis ignorieren: Durch Hinzufügen eines
/
am Ende des Verzeichnisnamens können Sie alles in diesem Verzeichnis ignorieren.
logs/
- Alle Dateien eines bestimmten Typs ignorieren: Platzhalter (
*
) können verwendet werden, um alle Dateien mit einer bestimmten Erweiterung zu ignorieren.
*.py
- Negation: Sie können
!
verwenden, um ein Muster zu negieren und bestimmte Dateien oder Verzeichnisse explizit zu verfolgen, die sonst ignoriert würden.
*.txt # Ignores all .txt files !readme.txt # Except for readme.txt
Wie man eine .gitignore-Datei erstellt und verwendet
Das Erstellen und Verwenden von .gitignore
ist ziemlich einfach. In diesem Abschnitt werde ich die Schritte durchgehen.
Erstellen einer .gitignore-Datei
Schritt 1: Navigiere zum Stammverzeichnis deines Repositorys. Die .gitignore
-Datei wird in der Regel im Stammverzeichnis eines Git-Projekts platziert. Öffne dein Terminal oder die Befehlszeile und navigiere zum Stammverzeichnis deines Git-Repositorys:
cd /path/to/your/repo
Schritt 2: Erstelle die .gitignore-Datei. Sobald du im Stammverzeichnis bist, erstelle die .gitignore
-Datei mit einem Texteditor oder indem du einen Befehl im Terminal ausführst, wie zum Beispiel:
touch .gitignore
Schritt 3: Muster zur Datei hinzufügenÖffnen Sie die Datei .gitignore
in einem Texteditor und fügen Sie die erforderlichen Muster hinzu, um Dateien oder Verzeichnisse zu ignorieren. Jede Zeile stellt ein anderes Muster dar.
Hier ist ein Beispiel für die häufig in einem einfachen Projekt verwendete Datei .gitignore
:
# Node-Module und Abhängigkeitsverzeichnisse ignorieren node_modules/ vendor/ # Build-Artefakte ignorieren dist/ build/ *.log # Systemgenerierte Dateien ignorieren .DS_Store Thumbs.db # Umgebungs- und Geheimdateien ignorieren .env config.json
Nachdem Sie die erforderlichen Muster hinzugefügt haben, speichern Sie die Datei. Git ignoriert diese Dateien nun automatisch beim Vorbereiten oder Übertragen von Änderungen.
Schritt 4: Die Datei im Repository bestätigen. Es ist wichtig, die .gitignore
-Datei im Repository zu bestätigen, damit alle Mitarbeiter die gleichen Ausschlussregeln verwenden. Dies gewährleistet Konsistenz im gesamten Projekt für alle Beteiligten.
git add .gitignore git commit -m "Add .gitignore file" git push
Nachdem die .gitignore
-Datei bestätigt wurde, legen Sie gemeinsame Ausschlussregeln für das gesamte Team fest.
Möchten Sie das Pushen und Pullen in Git beherrschen? Erfahren Sie, wie Sie Ihre Arbeit mit entfernten Repositories in diesem Git Push- und Pull-Tutorial synchronisieren.
Best Practices für die Verwendung von .gitignore
Das Erstellen einer .gitignore
-Datei ist ein einfacher Teil der Pflege eines sauberen Git-Repositorys, es sollten jedoch mehrere bewährte Verfahren befolgt werden, um sicherzustellen, dass die Datei im Laufe der Zeit effektiv verwaltet wird.
Verwenden Sie eine globale .gitignore
Für Entwickler, die an mehreren Projekten arbeiten, gibt es bestimmte Dateien, die Sie unabhängig vom Projekttyp aus jedem Repository ausschließen möchten.
Anstatt sie zur .gitignore
-Datei jedes Projekts hinzuzufügen, können Sie eine globale .gitignore
konfigurieren, die für alle Repositories auf Ihrem System gilt.
Um eine globale .gitignore
-Datei zu konfigurieren:
- Erstellen Sie eine
.gitignore_global
-Datei:
touch ~/.gitignore_global
- Fügen Sie Muster für Dateien hinzu, die Sie global ignorieren möchten, wie z. B.:
.DS_Store *.log /.vscode/ /.idea/
- Legen Sie Git so fest, dass es die globale
.gitignore
verwendet:
git config --global core.excludesfile ~/.gitignore_global
Nutzen Sie vorhandene Vorlagen
Statt für jedes neue Projekt eine .gitignore
-Datei von Grund auf zu erstellen, können Sie vorab konfigurierte .gitignore
-Vorlagen für bestimmte Sprachen, Frameworks oder Umgebungen nutzen.
Eine der besten Ressourcen für diese Vorlagen ist das offizielle .gitignore-Repository von GitHub, wo Sie .gitignore
-Dateien finden können, die auf Hunderte von Programmiersprachen und Frameworks zugeschnitten sind.
Überprüfen Sie regelmäßig die .gitignore.
Bei der Entwicklung von Projekten müssen möglicherweise neue Dateien und Verzeichnisse in die .gitignore
-Datei aufgenommen werden. Es ist wichtig, Ihre Datei regelmäßig zu überprüfen und zu aktualisieren, um den aktuellen Stand Ihrer Projekte widerzuspiegeln.
Einige Szenarien, in denen Sie die .gitignore
-Datei aktualisieren müssen, sind:
- Die Einführung neuer Tools oder Bibliotheken, die zusätzliche Dateien generieren (z. B. Wechsel zu einem neuen Build-System).
- Refactoring oder Neuorganisation von Verzeichnissen, was zu neuen Dateien führen kann, die ausgeschlossen werden sollten.
- Entfernen veralteter Dateien oder Verzeichnisse, die nicht mehr zum Projekt gehören.
Fehlerbehebung .gitignore
Auch nachdem Sie eine .gitignore
-Datei eingerichtet haben, können Sie auf Szenarien stoßen, in denen bestimmte Dateien verfolgt werden oder Muster nicht wie erwartet funktionieren. Dieser Abschnitt behandelt zwei häufige Problembehebungsbereiche und wie man sie lösen kann.
Verfolgung von bereits committed Dateien
Die .gitignore
-Datei gilt nicht rückwirkend für bereits committed Dateien.
Wenn Sie ein Muster zu .gitignore
hinzufügen, nachdem bestimmte Dateien bereits committed wurden, wird Git diese weiterhin verfolgen, auch wenn sie dem Muster in der .gitignore
-Datei entsprechen.
Um die Verfolgung von bereits committed Dateien zu stoppen, befolgen Sie diese Schritte:
- Entfernen Sie die Dateien aus der Überwachung von Git: Verwenden Sie den Befehl
git rm
, um sie aus dem Repository zu entfernen, während sie in Ihrem Arbeitsverzeichnis bleiben.
git rm --cached <file_or_directory_name>
- Bestätigen Sie die Änderungen: Nachdem Sie die Dateien aus der Überwachung von Git entfernt haben, bestätigen Sie die Änderungen, um sicherzustellen, dass die Dateien nicht mehr Teil des Versionskontrollverlaufs sind.
git commit -m "Stop tracking ignored files"
- Schieben Sie die Änderungen zum Remote-Repository: Schieben Sie schließlich die Änderungen zum Remote-Repository, um sicherzustellen, dass die Dateien nicht mehr verfolgt werden.
git push
Nach Ausführung dieser Schritte wird Git aufhören, die Dateien zu verfolgen. Die committete Datei wird sich immer noch in Ihrem Arbeitsverzeichnis befinden, aber basierend auf Ihren .gitignore
-Mustern bei zukünftigen Commits ignoriert.
Überprüfen, ob Muster funktionieren
Manchmal kann es vorkommen, dass bestimmte Dateien, die Sie erwartet haben zu ignorieren, immer noch im Status von Git auftauchen oder verfolgt werden.
Befolgen Sie diese Schritte, um sicherzustellen, dass Ihre .gitignore
-Muster korrekt funktionieren:
- Überprüfen Sie den Status Ihrer Dateien: Verwenden Sie den Befehl
git status
, um zu sehen, welche Dateien von Git verfolgt werden. Dies wird Ihnen helfen zu überprüfen, ob Ihre ignorierten Dateien immer noch aufgelistet sind.
git status
- Stellen Sie sicher, dass das Muster korrekt ist: Überprüfen Sie die Syntax Ihrer
.gitignore
-Muster, um sicherzustellen, dass sie korrekt formatiert sind. Zum Beispiel: - Stellen Sie sicher, dass Sie den richtigen Verzeichnispfad (relativ zum Stammverzeichnis des Repositorys) verwenden.
- Fügen Sie ein
/
hinzu, um bestimmte Verzeichnisse zu zielen und das Verfolgen aller Dateien mit ähnlichen Namen zu verhindern.
- Aktualisieren Sie den Cache: Wenn Sie kürzlich Ihre
.gitignore
-Datei aktualisiert haben und die Änderungen nicht übernommen werden, könnte Git noch im vorherigen Cache festhängen. Um den Cache zu aktualisieren, führen Sie den folgenden Befehl aus:
git rm -r --cached . git add . git commit -m "Refresh .gitignore"
- Überprüfen Sie auf Ausnahmen: Manchmal kann ein spezifisches Muster in der Datei
.gitignore
durch ein spezifischeres Muster an anderer Stelle in der Datei überschrieben werden. Überprüfen Sie Ihre Regeln, um sicherzustellen, dass es keine widersprüchlichen Muster gibt.
Sie suchen eine schnelle Git-Referenz? Behalten Sie die wesentlichen Befehle mit diesem Git-Spickzettel direkt zur Hand.
Fazit
Eine .gitignore
-Datei mag klein erscheinen, spielt aber eine wichtige Rolle dabei, Ihr Git-Repository sauber und übersichtlich zu halten. Indem Sie unnötige Dateien ignorieren – wie Abhängigkeiten, Build-Artefakte und systemgenerierte Dateien – stellen Sie sicher, dass Ihr Projekt organisiert und frei von Ballast bleibt.
In diesem Tutorial haben Sie gelernt, wie Sie eine .gitignore
-Datei erstellen, Muster hinzufügen und bewährte Praktiken anwenden, um Ihr Repository effizient zu halten. Mit diesen Fähigkeiten vermeiden Sie Versionskontrollprobleme und machen die Zusammenarbeit für alle in Ihrem Team reibungsloser.
Wenn Sie Ihre Git-Kenntnisse vertiefen möchten, werfen Sie einen Blick auf Git Fundamentals für einen strukturierten Lernweg. Sie können auch praxisnahe Kurse wie Foundations of Git und Introduction to GitHub Concepts erkunden, um ein solides Verständnis von Versionskontrolle und Zusammenarbeitsabläufen aufzubauen!