Ignoring in Git: Wie man .gitignore-Dateien verwendet

Ignoring in Git: Wie man .gitignore-Dateien verwendet

  • ITOps & DevOps
6 Minuten Lesezeit Aktualisiert Aug 5, 2020

Auf einen Blick: Die Verwendung einer .gitignore-Datei ist unerlässlich, um zu verwalten, welche Dateien Git verfolgt, da unnötige oder sensible Dateien ausgeschlossen werden können. Sie kann an spezifische Frameworks und Benutzerbedürfnisse angepasst werden.

  • Entdecken Sie Vorlagen auf GitHub für .gitignore-Dateien.
  • Häufige Punkte, die man ignorieren sollte, sind systemspezifische Dateien und API-Schlüssel.

Wenn du Commits in ein Git-Repository machst, wählst du die Dateien aus, die du stagen möchtest, und commit sie dann.

Aber vielleicht möchtest du nicht jede einzelne deiner Dateien committen – es gibt Dateien, die nie committet werden müssen. Hier ist die .gitignore-Datei nützlich: Sie sagt Git genau, welche Dateien ignoriert und niemals verfolgt werden soll.

Schauen wir mal.

Was ist gitignore?

Wenn du an deiner Kopie arbeitest, sieht Git jede Datei an und betrachtet sie auf drei Arten:

  1. Tracked: Sie haben die Akte bereits inszeniert oder eingetragen.
  2. Untracked: Du hast weder inszeniert noch gecommittert.
  3. Ignoriert: Du hast Git ausdrücklich gesagt, die Datei(en) zu ignorieren.

Die .gitignore-Datei teilt Git mit, welche Dateien es ignorieren soll, wenn es dein Projekt im GitHub-Repository committet. gitignore befindet sich im Root-Verzeichnis deines Repo.

Die .gitignore-Datei selbst ist ein Klartextdokument. Hier ist eine beispielliche .gitignore-Datei:

    # Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib

# Test binary, built with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out

# Dependency directories (remove the comment below to include it)
vendor/
  • * wird als Wildcard-Match verwendet *.exe ignoriert jede Datei mit der .exe-Erweiterung
  • Ich ignoriere Verzeichnisse mit dem Namen. Vendor/ ignoriert das Vendor-Verzeichnis.
  • # kommentiert die Zeile
  • [...] ignoriert Werte mit einem der Werte.
    • *. [abc] ignoriert Dateien Datei.a, Datei.b, Datei.C.
    • *. [a-*. [oa]d] Der Strich enthält einen Bereich, in diesem Fall die Dateiendungen a-d.

Warum muss ich Dateien in Git ignorieren?

Aus mehreren Gründen möchtest du bestimmte Dateien vielleicht ignorieren:

  • Die Dateien enthalten sensible Daten.
  • Die Dateien sind systemspezifisch und müssen nicht auf jeder Kopie vorhanden sein.
  • Das Ausschließen der Dateien erhält die Systemsicherheitsregeln und -rechte. (Denken Sie daran, Git-Repos enthalten nur die Dateien, die für technischen Support notwendig sind – nicht, um die gesamte Software zu teilen.)

Julien Danjou weist darauf hin, dass es eine globale .ignore-Datei gibt, die dein Computer für jeden Commit ignorieren kann:

Nicht jeder benutzt deinen Editor oder deinen Lieblings-Haustier-Tool, und es interessiert niemanden. Das Repository, in dem du arbeitest, wird mit vielen anderen Entwicklern geteilt. Pull Requests zu schicken, um einfach so einen Eintrag hinzuzufügen, um von deinem Pet-Editor generierte Dateien zu ignorieren, ist falsch und ärgerlich.

Elemente, die in .gitignore eingelegt werden können

Nicht alles läuft auf gitignore, aber hier sind gängige Dinge, die man ignorieren sollte:

Systemspezifische Dateien

Systemspezifische Dateien müssen ignoriert werden. Aber du kannst diese Dateien zu einer globalen Ignorier-Datei hinzufügen, anstatt der Ignorier-Datei des Repositorys.

Vscode-Arbeitsbereiche

Elemente wie ein vscode-Arbeitsbereich müssen ignoriert werden.

Sicherheit und API-Schlüssel/Geheimnisse

Aus Sicherheitsgründen sollten die Sicherheitsschlüsseldateien und API-Schlüssel dem gitignore hinzugefügt werden. (Das heißt, wenn sie überhaupt im Verzeichnis gespeichert sind). Jeder Commit wird in der Geschichte eines GitHub-Repos gespeichert. Wenn ein Schlüssel eingereicht wird, selbst wenn er unmittelbar danach entfernt wird, existiert ein Record des Schlüssels in diesem Commit.

Wie man das globale gitignore für dein System erstellt

Die globale Ignorieren-Datei kann überall hingehen. In der Regel wird sie im Home-Verzeichnis des Benutzers gespeichert.

  1. Erstellen Sie die Datei:
  2. Füge die Datei zur Git-Konfiguration hinzu:
  3. Bearbeite die Datei mit deinem Texteditor und füge deine Regeln hinzu.

Alle ignorierten Dateien sehen

    git status –ignored

Einstieg mit gitignore

Verschiedene Coding-Frameworks generieren ihre eigenen zusätzlichen Dateien. .gitignore-Templates kann als Basis dienen, um die allgemeinen Dateien loszuwerden, die die meisten Leute ignorieren.

  • Python hat eigene Dateien.
  • Systemadministratoren haben ihre eigenen Dateien.
  • MacOS und Windows haben jeweils ihre eigene Art von Ignorieren-Dateien.
  • Verschiedene IDEs wie VScode und Atom haben ihre eigenen .gitignore-Dateien.

Um mit einem zu beginnen, der zu Ihren Bedürfnissen passen könnte:

  1. Erkunde Vorlagen. Github bietet ein Repository für .gitignore-Vorlagen bereit
  2. Durchsuche Projektdateien. Toptal ermöglicht es dir, nach .gitignore-Dateien basierend auf deinem Projekt zu suchen
  3. Im Programmierstil kann es auch mit ".gitignore for [meinem Zweck]" zu googeln, um dorthin zu gelangen.

Zusätzliche Ressourcen

Für mehr zu verwandten Themen entdecken Sie den BMC DevOps Guide.

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus ITOps & DevOps

Abonnieren Sie The Brief

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Danke

Sie haben The Brief abonniert
Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.