Warum ignoriert Git Dateien, die nicht in der .gitignore-Datei enthalten sind?
Lesezeit: 5 Minuten
Ian Jäger
Ich habe ein Git-Repository, das Bilddateien sowie einige andere Dateien ignoriert, aber meine .gitignore Datei hat nur das Ignorieren von a config.php Datei. Gibt es irgendwo eine globale Ignore-Datei, die ich anscheinend nicht finden kann? Ich muss Dateien angeben, um sie jetzt hinzuzufügen, und es gibt mir diese Warnung:
Die folgenden Pfade werden von einer Ihrer .gitignore-Dateien ignoriert.
Der Inhalt meiner ~/.gitconfig Datei sind nur meine E-Mail-Adresse.
Alternativ verwenden git add -f was das Hinzufügen ansonsten ignorierter Dateien ermöglicht.
Sehen: man gitignore, man git-check-ignore für mehr Details.
Syntax
git check-ignore [options] Pfadname…
git check-ignore [options] –stdin
Dies ist viel besser als die akzeptierte Antwort. Nichts für ungut, aber das hat mir den Tag gerettet. Danke Kenorb.
– luanjunyi
4. August 2015 um 21:46 Uhr
Verdient mehr Upvotes. Ich habe herausgefunden, dass ein seltsames Gitignore in einigen /vendor/-Ordnern Probleme mit der neuesten Git-Version verursacht hat.
– Manuel Arwed Schmidt
5. September 2015 um 20:50 Uhr
Dieser hat mich heute gerettet … es scheint, dass Visual Studio eine Datei mit dem Namen gitignore_global.txt im Dokumentenordner des Benutzers erstellt hat, und dies hat Dateien ignoriert, die ich nicht (un)ignorieren konnte
– Samuel
18. November 2015 um 23:58 Uhr
Hat mein Problem perfekt gelöst. Einige Muster sind nicht leicht mit dem Auge zu erkennen!!
– Willa
15. September 2016 um 13:27 Uhr
Deine Antwort hat mir sehr geholfen. Ich werde von nun an oben in meinen Gitignore-Dateien zwei Kommentare haben: # Git is ignoring files that aren't in gitignore gefolgt von der URL zu dieser Antwort.
– Karl
13. November 2021 um 12:04 Uhr
Es könnte gut sein zu wissen, dass Ihre Git-Konfiguration eine core.excludes-Datei enthalten kann, die ein Pfad zu einer Datei mit zusätzlichen Mustern ist, die ignoriert werden. Sie können herausfinden, ob Sie eine solche Konfiguration haben, indem Sie Folgendes ausführen (im problematischen Git-Repo):
git config core.excludesfile
Wenn ein Dateipfad gedruckt wird, sehen Sie sich den Inhalt dieser Datei an, um weitere Informationen zu erhalten.
In meinem Fall habe ich git über eine alte Version von installiert boxen die das Muster ‘Icon?’ Das hat mir in meinem Fall die in dieser Frage erwähnte Warnung für Ordnersymbole gegeben (ich befinde mich in einem Dateisystem, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird, weshalb Icon? mit Symbolen übereinstimmt).
Das war tatsächlich mein Problem. Ich bin mir nicht sicher, wie oder wann diese Datei bearbeitet wird, aber die Datei, die ich wollte, war darin aufgeführt
– Toxaq
26. Februar 2014 um 6:06 Uhr
Danke, du hast mir Stunden purer Qual erspart. In meinem Fall war es die Installation von Source Tree (ein Tool zur Visualisierung von Git-Repos), das unlogischerweise im Dokumentenordner eine gitignore_global.txt erstellte, die viele Ausschlüsse enthielt.
– Mechanisches Objekt
27. November 2014 um 23:58 Uhr
Ich hatte das gleiche verdammt Icon? ignoriert werden.
– Justin Skiles
10. Dezember 2015 um 1:25 Uhr
Dies war bei mir der Fall. Hatte einige Regeln in der globalen Ignore-Datei. Danke für den Tipp +1
– Wahnsinn
4. Oktober 2016 um 10:23 Uhr
Ich hatte *.json in meinem globalen Ignorieren – sprechen Sie über einen Albtraum – danke!
– Jason Perfetto
2. Januar 2020 um 15:10 Uhr
gahooa
Guck dir diese an:
Haben Sie nach anderen .gitignore-Dateien gesucht, da es viele davon geben kann?
Sehen Sie sich auch REPO/.git/config an, um zu sehen, ob dort etwas ist.
Repo-Ausschluss Lokale Pro-Repo-Regeln können zur Datei .git/info/exclude in Ihrem Repo hinzugefügt werden. Diese Regeln werden nicht mit dem Repository festgeschrieben, sodass sie nicht mit anderen geteilt werden. Diese Methode kann für lokal generierte Dateien verwendet werden, von denen Sie nicht erwarten, dass andere Benutzer sie generieren, z. B. Dateien, die von Ihrem Editor erstellt wurden.
Es gibt keine anderen .gitignore-Dateien im Repository, noch gibt es irgendetwas in der .git/config-Datei, das irgendetwas ignoriert. Wie ist .git/info/exclude konfiguriert?
– Ian Jäger
24. Februar 2012 um 19:13 Uhr
Es ist nicht klar, warum diese Antwort als beantwortet markiert ist. Wie genau wurde dieses Problem gelöst?
– Nächster Entwickler
15. August 2016 um 15:51 Uhr
ausschließen war mein Problem. Ich wusste, dass es einen anderen Weg zum Ignorieren gab, den ich in der Vergangenheit benutzt hatte, aber vergessen hatte, wo er war!
– Chucky
14. Juni 2017 um 9:05 Uhr
Ich hatte das gleiche Problem – ein Verzeichnis wurde von Git mit diesem Fehler ignoriert:
➭ git add app/views/admin/tags/
The following paths are ignored by one of your .gitignore files:
app/views/admin/tags
Use -f if you really want to add them.
fatal: no files added
Ich fand schließlich heraus, dass mein Problem eine Linie in meinem war ~/.gitignore_global:
TAGS
was dem Pfad entsprach app/views/admin/tags. Ich habe es behoben, indem ich der globalen Gitignore-Datei einen führenden Schrägstrich hinzugefügt habe
/TAGS
und git fing wieder an, mein Verzeichnis zu verfolgen.
Für mich hatte ich versehentlich einen Platzhalter in meiner Datei ~/.gitignore_global. Vielleicht dort nachschauen?
Genau darum ging es mir. Ich hatte *.png dort, keine Ahnung, wie es dorthin kam.
– Schahar
26. Januar 2016 um 9:37 Uhr
Gemeinschaft
Noch etwas zum Probieren: Ich hatte ein eigenes Verzeichnis B .git Repository unter meinem Projektverzeichnis A verschachtelt (jedoch nicht als Submodul). Ich habe einige Änderungen an B vorgenommen und wollte daraus ein echtes Submodul machen. Ich glaube, Git A hat B automatisch ignoriert, weil es ein eigenes Repository enthielt (siehe Verschachtelte Git-Repositorys ohne Submodule?). Ich habe den B-Ordner umbenannt und versucht, ihn erneut als Submodul zu klonen, und das brachte mir die irreführende Fehlermeldung „ignoriert von .gitignore“. Die Lösung war löschen .git ausB.
Genau darum ging es mir. Ich hatte *.png dort, keine Ahnung, wie es dorthin kam.
– Schahar
26. Januar 2016 um 9:37 Uhr
jwogrady
In meinem Fall war es der Schrägstrich in meinem Pfad, der das Problem verursachte …
Nicht arbeiten
/srv/bootstrap/
Arbeit
srv/bootstrap/
14410200cookie-checkWarum ignoriert Git Dateien, die nicht in der .gitignore-Datei enthalten sind?yes
Siehe auch: stackoverflow.com/questions/12144633/…
– krlmlr
12. Juni 2018 um 9:06 Uhr