Ich habe ein Git-Repository, das Bilddateien sowie einige andere Dateien .gitignore
ignoriert , aber in meiner Datei wird nur eine config.php
Datei ignoriert . Gibt es irgendwo eine globale Ignorierdatei, die ich scheinbar 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 ist nur meine E-Mail-Adresse.
Antworten:
git check-ignore
Verwenden Sie den
git check-ignore
Befehl , um Ihre Gitignore-Datei zu debuggen (Dateien ausschließen).Beispielsweise:
Die obigen Ausgabedetails zum Übereinstimmungsmuster (falls vorhanden) für jeden angegebenen Pfadnamen (einschließlich Zeile).
Vielleicht wird Ihre Dateierweiterung nicht ignoriert, sondern das gesamte Verzeichnis.
Das zurückgegebene Format lautet:
Oder verwenden Sie den folgenden Befehl, um Ihren
.gitignore
HOME- und Repository-Ordner im Benutzer zu drucken :Alternativ
git add -f
können Sie auch andere ignorierte Dateien hinzufügen.Siehe auch :
man gitignore
,man git-check-ignore
um weitere Informationen zu .Syntax
quelle
Es ist möglicherweise gut zu wissen, dass Ihre Git-Konfiguration eine core.excludes-Datei enthalten kann, die einen Pfad zu einer Datei mit zusätzlichen Mustern darstellt, die ignoriert werden. Sie können herausfinden, ob Sie eine solche Konfiguration haben, indem Sie Folgendes ausführen (im problematischen Git-Repo):
Wenn ein Dateipfad gedruckt wird, überprüfen Sie den Inhalt dieser Datei auf weitere Informationen.
In meinem Fall habe ich git über eine alte Version von boxen installiert, die das Muster 'Icon?' Ignorierte. Das gab mir in meinem Fall die in dieser Frage erwähnte Warnung für Ordnersymbole (ich bin in einem Dateisystem, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird, daher stimmt das Symbol mit den Symbolen überein).
quelle
Icon?
Ignorieren.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 festzustellen, ob dort etwas vorhanden ist.
Repo-Ausschluss Lokale Per-Repo-Regeln können zur .git / info / exclude-Datei in Ihrem Repo hinzugefügt werden. Diese Regeln werden nicht mit dem Repo festgelegt, sodass sie nicht mit anderen geteilt werden. Diese Methode kann für lokal generierte Dateien verwendet werden, von denen Sie nicht erwarten, dass sie von anderen Benutzern generiert werden, z. B. von Ihrem Editor erstellte Dateien.
quelle
Ich hatte das gleiche Problem - ein Verzeichnis wurde von git mit diesem Fehler ignoriert:
Ich fand schließlich heraus, dass mein Problem eine Zeile in meinem war
~/.gitignore_global
:das stimmte mit dem Pfad überein
app/views/admin/tags
. Ich habe es behoben, indem ich der globalen Gitignore-Datei einen führenden Schrägstrich hinzugefügt habeund git fing wieder an mein verzeichnis zu verfolgen.
quelle
help
Verzeichnis, das ignoriert wurde. Zum Glück habe ich Ihre Antwort ziemlich schnell gefunden.Für mich hatte ich versehentlich einen Platzhalter in meiner ~ / .gitignore_global-Datei. Vielleicht dort nachsehen?
quelle
Eine andere Sache zu versuchen: Ich hatte ein Verzeichnis B mit einem eigenen
.git
Repository unter meinem Projektverzeichnis A verschachtelt (aber nicht als Submodul). Ich habe einige Änderungen an B vorgenommen und wollte daraus ein bonafides 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. Dies führte zu der irreführenden Fehlermeldung "Von .gitignore ignoriert". Die Lösung bestand darin.git
, aus B zu löschen .quelle
Ich hatte genau das gleiche Problem wie Sie. Die einzige Antwort, die Sie erhalten haben, sind einige Stellen, die überprüft werden müssen, aber keine hat das Problem für mich gelöst, und aus Ihrem Kommentar denke ich auch nicht für Sie. Ich hatte keine ANDEREN .gitignore-Dateien, die sich weiter unten im Verzeichnisbaum versteckten. nichts in .git / config; nichts in .git / ingore / exclude
Wenn Sie das Problem weiterhin haben, überprüfen Sie es diese Antwort . Es hat das Problem für mich gelöst
Suchen Sie grundsätzlich nach einer ~ / .gitignore-Datei. Meins hieß ~ / .gitignore_global. Ich weiß nicht, wann es erstellt wurde ( ich habe es sicherlich nicht geschafft), aber ich habe bei der ersten Installation eine Menge verschiedener Git-Setups ausprobiert, also muss einer von ihnen es dort abgelegt haben.
Hoffe, seine Antwort hilft dir auch!
quelle
Ein weiterer Grund für den Empfang dieser Fehlermeldung von git ist das Ausführen des
git submodule add
Befehls, während ein vorheriger git-Befehl abgestürzt ist und die Sperrdatei verlassen hat (dies kann beispielsweise passieren, wenn Sie benutzerdefinierte Skripts verwenden, die git-Befehle enthalten, und die nicht notiert haben Absturz).Wenn Sie
git commit
stattdessen den Befehl ausführen , während sich keine der Bedingungen geändert hat (git submodule add
wird immer wieder schreien, dass Ihre.gitignore
Dateien schuld sind), wird stattdessen ein weiterer Fehlerbericht angezeigt:und tatsächlich das Löschen der Sperrdatei:
behebt das Problem. (Dies passiert mit der Git-Version 2.1.0.9736. Möglicherweise wird dies in zukünftigen Git-Versionen behoben.)
quelle
Überprüfen Sie, ob Sie die Berechtigung für den Ordner haben. Ich bin gerade darauf gestoßen und es lag daran, dass der Ordner dem Benutzer von www-data gehörte und nicht dem Benutzer, als den ich am Terminal angemeldet war.
quelle
In meinem Fall war es der Schrägstrich auf meinem Weg, der das Problem verursachte ...
Nicht arbeiten
Arbeit
quelle
Eine weitere Sache: Wenn das Verzeichnis, in dem Sie sich befinden, Root-Zugriff zum Schreiben oder Ausführen erfordert, stellen Sie sicher, dass Sie sich im Root-Benutzer befinden. Ich habe tatsächlich einen seltsamen Fehler bekommen, als ich versucht habe, ein Submodul hinzuzufügen, und git hat sich immer wieder beschwert, dass der Pfad, in den ich geklont habe, von einer git-Ignorierdatei ignoriert wurde. Dann wechselte ich zum Root-Benutzer, führte das Submodul add erneut aus und es gab kein Problem.
quelle
Bitte beachten Sie auch überprüfen
~/.gitignore
und~/.gitignore_global
die von einigen Git - Clients erstellt werden könnten (zB Atlassian SourceTree auf Mac OS X).quelle
Stellen Sie sicher, dass die
.gitignore
Datei sich selbst nicht ignoriert. Ein häufiger Fehler ist das Hinzufügen einer*
Regel zur.gitignore
Datei, um jede Datei im aktuellen Ordner zu ignorieren. Die Lösung hierfür besteht darin, eine Ausnahme hinzuzufügen zu.gitignore
:Auf diese Weise werden alle Dateien im Verzeichnis außer ignoriert
.gitignore
.quelle