Android

Dateien und Verzeichnisse in git (.gitignore) ignorieren

Versionsverwaltung Git: gitignore - Dateien und Dateimuster ignorieren

Versionsverwaltung Git: gitignore - Dateien und Dateimuster ignorieren

Inhaltsverzeichnis:

Anonim

Wenn Sie an einem Projekt arbeiten, das Git verwendet, möchten Sie häufig bestimmte Dateien oder Verzeichnisse davon ausschließen, in das Remote-Repository verschoben zu werden.

Die .gitignore Datei gibt an, welche nicht verfolgten Dateien Git ignorieren soll.

Welche Dateien sollten ignoriert werden?

Ignorierte Dateien sind normalerweise plattformspezifische Dateien oder automatisch erstellte Dateien aus den Build-Systemen. Einige gebräuchliche Beispiele sind:

  • Laufzeitdateien wie Protokoll-, Sperr-, Cache- oder temporäre Dateien. Dateien mit vertraulichen Informationen wie Kennwörtern oder API-Schlüsseln. Kompilierter Code wie .class oder .o .Dependency-Verzeichnisse wie /vendor oder /node_modules .Build-Verzeichnisse B. /public , /out oder /dist . Systemdateien wie .DS_Store oder Thumbs.db IDE oder Texteditor-Konfigurationsdateien.

.gitignore

Eine lokale .gitignore Datei wird normalerweise im Stammverzeichnis des Repository abgelegt. Sie können jedoch mehrere .gitignore Dateien in verschiedenen Unterverzeichnissen in Ihrem Repository erstellen. Die Muster in den .gitignore Dateien stimmen mit dem Verzeichnis überein, in dem sich die Datei befindet.

In den Dateien definierte Muster, die sich in untergeordneten Verzeichnissen (Unterverzeichnissen) befinden, haben Vorrang vor den Mustern in übergeordneten Verzeichnissen.

Lokale .gitignore Dateien werden mit anderen Entwicklern geteilt und sollten Muster enthalten, die für alle anderen Benutzer des Repository nützlich sind.

Persönliche Ignorierregeln

Muster, die für Ihr lokales Repository spezifisch sind und nicht an andere Repositorys verteilt werden sollen, sollten in der Datei .git/info/exclude werden.

Mit dieser Datei können Sie beispielsweise generierte Dateien aus Ihren persönlichen Projektwerkzeugen ignorieren.

Global .gitignore

Mit Git können Sie auch eine globale .gitignore Datei erstellen, in der Sie Ignorierregeln für jedes Git-Repository auf Ihrem lokalen System definieren können.

Die Datei kann beliebig benannt und an einem beliebigen Ort gespeichert werden. Der am häufigsten verwendete Speicherort für diese Datei ist das Basisverzeichnis. Sie müssen die Datei manuell erstellen und Git für die Verwendung konfigurieren.

Um beispielsweise ~/.gitignore_global als globale Git-Ignorierdatei ~/.gitignore_global , gehen Sie folgendermaßen vor:

  1. Erstellen Sie die Datei:

    touch ~/.gitignore_global

    Fügen Sie die Datei der Git-Konfiguration hinzu:

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

    Öffnen Sie die Datei mit Ihrem Texteditor und fügen Sie Ihre Regeln hinzu.

Globale Regeln sind besonders nützlich, um bestimmte Dateien zu ignorieren, die Sie niemals festschreiben möchten, z. B. Dateien mit vertraulichen Informationen oder kompilierte ausführbare Dateien.

Zuvor festgeschriebene Dateien ignorieren

Die Dateien in Ihrer Arbeitskopie können entweder verfolgt oder nicht verfolgt werden.

Um eine zuvor festgeschriebene Datei zu ignorieren, müssen Sie die Bühne verlassen, die Datei aus dem Index entfernen und anschließend eine Regel für die Datei in .gitignore :

git rm --cached filename

Die Option --cached weist git an, die Datei nicht aus dem Arbeitsbaum zu löschen, sondern sie nur aus dem Index zu entfernen.

Verwenden Sie die Option -r um ein Verzeichnis rekursiv zu entfernen:

git rm --cached filename

Verwenden Sie beim rekursiven Löschen von Dateien die Option -n , die einen "Probelauf" ausführt und Ihnen anzeigt, welche Dateien gelöscht werden:

git rm -r -n directory

Debuggen der .gitignore Datei

Manchmal kann es schwierig sein, festzustellen, warum eine bestimmte Datei ignoriert wird, insbesondere wenn Sie mehrere .gitignore Dateien oder komplexe Muster verwenden. Hier ist der Befehl git check-ignore mit der Option -v nützlich, der git anweist, Details zum übereinstimmenden Muster anzuzeigen.

Um beispielsweise zu überprüfen, warum die Datei www/yarn.lock ignoriert wird, führen Sie www/yarn.lock aus:

git check-ignore -v www/yarn.lock

Die Ausgabe zeigt den Pfad zur gitignore Datei, die Nummer der übereinstimmenden Zeile und das tatsächliche Muster.

www/.gitignore:31:/yarn.lock www/yarn.lock

Der Befehl akzeptiert auch mehr als einen Dateinamen als Argumente und die Datei muss nicht in Ihrem Arbeitsbaum vorhanden sein.

Alle ignorierten Dateien anzeigen

Der Befehl git status mit der Option --ignored zeigt eine Liste aller ignorierten Dateien an:

git status --ignored

Fazit

Mit der .gitignore Datei können Sie Dateien vom .gitignore in das Repository ausschließen. Die Datei enthält Globbing-Muster, die beschreiben, welche Dateien und Verzeichnisse ignoriert werden sollen.

gitignore.io ist ein Onlinedienst, mit dem Sie .gitignore Dateien für Ihr Betriebssystem, Ihre Programmiersprache oder Ihre IDE generieren können.