Ich dachte, ich würde mich darauf einlassen. Es gibt noch einen weiteren Grund, warum die globale Ignorierdatei anscheinend nicht funktioniert. Ich glaube nicht, dass dies in früheren Antworten behandelt wurde. Es ist so offensichtlich, dass es natürlich sehr leicht zu übersehen ist.
Es ist so, dass Git nur neue Dateien ignoriert . Wenn die Datei bereits von git verfolgt wird, wird sie von git natürlich nicht ignoriert! Welche Muster in einer gitignore
oder einer exclude
Datei auch immer nicht zutreffen .
Das macht Sinn. Warum sollte Git Änderungen an Dateien ignorieren wollen, die es bereits verfolgt? Wenn die Datei ignoriert werden soll, müssen Sie git zuerst anweisen, sie nicht zu verfolgen, und dann git ignorieren, wie im Handbuch beschrieben. Informationen zum Aufheben der Verfolgung von Dateien finden Sie in dieser Antwort .
Dies alles führt mich zu der Frage, ob es möglich ist, Änderungen an verfolgten Dateien zu ignorieren. Wieder liefert Git. Diese Antwort; Git: Verfolgen von verfolgten Dateien gibt uns den Befehl (durch file
die Datei ersetzen, die Sie ignorieren möchten):
git update-index --assume-unchanged file
Zum Schluss noch ein paar zusätzliche Informationen zum Debuggen von Git Ignorieren.
Die gitignore (5) Handbuchseite sagt uns:
Muster, die ein Benutzer in allen Situationen von Git ignorieren lassen soll (z. B. Sicherungs- oder temporäre Dateien, die vom Editor des Benutzers der Wahl generiert wurden), werden im Allgemeinen in eine Datei eingefügt, die von core.excludesfile in der ~ / .gitconfig des Benutzers angegeben wird. Der Standardwert ist $ XDG_CONFIG_HOME / git / ignore. Wenn $ XDG_CONFIG_HOME entweder nicht gesetzt oder leer ist, wird stattdessen $ HOME / .config / git / ignore verwendet.
Das ist also neu und ersetzt das vorherige ~/.gitignore_global
erwähnten.
Als nächstes, und das ist wirklich nützlich, haben wir ab 1.8.2 einige ausgezeichnete Debugging-Tools. Schauen Sie sich an:
Git lernt besser zu ignorieren - Neu in 1.8.2
Dies zeigt, wie Sie mit dem neuen check-ignore
Flag überprüfen können, ob git Ihre Muster erfolgreich ignoriert, z
git check-ignore bin/a.dll --verbose