Titel sagt alles. Ich versuche, meine NuGet-Pakete zum Repository hinzuzufügen. Alles außer den DLL-Dateien wird erkannt.
Die Gitignore-Datei enthält keine Verweise auf * .dll. Die DLL-Dateien werden nicht erkannt, wenn sie sich irgendwo im gesamten Repository befinden. info / exclude ist ebenfalls leer.
Ich habe auch das Repository (Dateisystem zu Dateisystem im Gegensatz von Remote zu Dateisystem) ohne Glück geklont. Dieses Problem tritt auch auf zwei verschiedenen Computern auf.
Ich könnte die DLL-Dateien manuell hinzufügen, aber sie sollten verfolgt werden. Warum werden sie nicht verfolgt?
git config --get core.excludesfile
sagt das aus?Antworten:
Haben Sie entweder
~/.gitignore_global
oder~/.gitignore
in Ihrem Home-Verzeichnis, in dem auch diese Dateimuster aufgelistet sein könnten?Siehe https://help.github.com/articles/ignoring-files
quelle
git check-ignore
, um herauszufinden, wo sich die Datei befand. Fond es bei ~ / Documents / gitignore_global.txtWenn Sie SourceTree und die Standardeinstellung verwenden, werden standardmäßig alle DLLs ignoriert ... Tools => Options => Git, dann "Edit File" ... fügen Sie ein "#" vor .dll => "# .dll" hinzu. . speichern und schließen.
Öffnen Sie dann für Windows Explorer in Ihrem Paketordner ein GitBash-Terminal und geben Sie "git add" ein. und lassen Sie es funktionieren, warten Sie eine Sekunde in SourceTree und alle fehlenden Paket-DLLs werden angezeigt, damit Sie sie festschreiben und pushen können.
quelle
Nein, sie sollten nicht verfolgt werden, es sei denn, Sie haben sie hinzugefügt. Es werden nur Dateien verfolgt, die bereits hinzugefügt und festgeschrieben wurden. das ist was "verfolgt" bedeutet.
Versuchen Sie manuell eine von ihnen Zugabe über
git add
und es wird sagen , warum es ihnen ist zu ignorieren, und prompt Sie verwendengit add -f
die Datei sowieso hinzuzufügen.quelle
Sie müssen git explizit anweisen, neue Dateien zu verfolgen.
Ausführen
git add filename
, um die Datei zum Git-Index hinzuzufügen.Ausführen
git commit
, um Änderungen in Ihrem Index festzuschreiben.git status
sollte auch die Liste der nicht verfolgten Dateien und Verzeichnisse anzeigen.Wenn Sie alle Dateien im Repo auflisten möchten, die von gitignore ignoriert werden, können Sie Folgendes ausführen:
Wenn Sie alle nicht verfolgten Dateien im Repo auflisten möchten:
quelle
Ich hatte ein ähnliches Problem. Ich kann keine DLL-Datei aus dem Paketverzeichnis zu meinem Git hinzufügen, dann habe ich die Datei gitignore_global.txt gefunden, da Sourcetree diese Datei automatisch als globale Git-Ignoriereinstellung hinzugefügt hat. Ich habe * .dll aus der Datei gitignore_global.txt entfernt und es funktioniert gut für mich.
Speicherort der Datei gitignore_global.txt wie unten
C: \ Users \ XXXX \ Documents \ gitignore_global.txt oder Sie können es auf der Registerkarte TOOL => OPTION => GIT des Quellbaums herausfinden und die globale Ignorierliste herausfinden
quelle
In meinem Fall gab es keine DLL-Referenzen in der Gitignore-Datei, und ich hatte keine globale Datei. Im Unterverzeichnis .git habe ich jedoch eine Datei mit dem Namen ms-persist.xml gefunden. Ich habe alle Instanzen von Visual Studio geschlossen und dann meine fehlenden DLLs manuell zu dieser Datei hinzugefügt. Als ich Visual Studio wieder öffnete, wurde angezeigt, dass die DLLs eingecheckt werden mussten. Ich habe sie eingecheckt und jetzt bin ich golden ...
quelle
Sie haben
.gitignore
irgendwo eine globale.gitignore
Datei oder weitere Dateien in Unterverzeichnissen - relativ zum Stammverzeichnis Ihres Projekts.Unter Linux-Systemen und MacOS ist das globale Git-Ignorieren höchstwahrscheinlich bei Ihnen zu Hause
~/
~/.gitignore_global
Unter Windows befindet es sich wahrscheinlich in Ihrem Benutzerverzeichnis. Entweder Ihr lokaler Benutzer (was Sie durch Eingabe
ECHO %USERPROFILE%
oderwhoami
über die Befehlszeile herausfinden können .Wenn es nicht da ist, dann ist sicherlich
.gitconfig
stattdessen ein vorhanden. Suchen Sie hier nach dem Speicherort des Gitignores (z. B. demDocuments
Ordner des Benutzers ).Bearbeiten : Verwenden Sie
git config --list --show-origin
diese Option , um Details zu den beitragenden Git-Einstellungen und den entsprechenden Dateispeicherorten abzurufen.quelle
Ich weiß, dass diese Frage sehr alt ist, aber ich füge sie für andere hinzu, die diese Frage möglicherweise in Zukunft besuchen werden. Sie können Ihre globale Ignorierdatei wie oben beschrieben ändern, dies wirkt sich jedoch auf ALLE Ihre Git-Repos aus. Wenn Sie stattdessen einen detaillierteren Ansatz wünschen, können Sie entweder bestimmte DLLs oder bestimmte Ordner in Ihren individuellen Projekt-Gitignores ausschließen. Dies überschreibt alle Einstellungen zum Ignorieren und erzwingt, dass die Dateien von git erkannt und verarbeitet werden. Ich denke, das ist ein besserer Ansatz.
.gitignore (für Ihr spezielles Projekt)
quelle