Ich habe Probleme beim Hinzufügen eines Ordners und aller seiner Unterverzeichnisse zu meinem Git-Repository. Ich erkannte, dass dies eine sehr beliebte Frage ist, nachdem ich ein bisschen gegoogelt hatte, und ich habe jeden Vorschlag ohne Glück ausprobiert, insbesondere den Vorschlag von der Manpage auf git-add . Ich habe es sogar git add -A
ohne Erfolg versucht . Nehmen wir der Einfachheit halber an, ich habe mein Git-Repository als initialisiert Dir1
. Dann habe ich folgende Verzeichnisstruktur von Dateien.
Dir1/file1-1.txt
Dir1/file1-2.txt
Dir1/Dir2/file2-1.txt
Dir1/Dir2/Dir3/file3-1.txt
Meine realen Dateien haben Unterverzeichnisse mit einer Tiefe von 5 bis 6 Ebenen. Gibt es also einen git-Befehl, um alle Dateien in jedem Unterverzeichnis zu meinem Repository hinzuzufügen? Im Moment, wenn ich den Vorschlag von der Manpage aus mache, git add Dir1/\*
kann ich ihn Dir2
in meinem Repo sehen, aber er wird als grüner Ordner angezeigt und ich kann ihn nicht öffnen, was mich glauben lässt, dass nicht alle Dateien / Ordner in Dir2
erhalten wurden hinzugefügt. Jede Hilfe wäre sehr dankbar. Ich bin ein neuer Git-Benutzer (weniger als eine Woche). Versuchen Sie also, Ihre Anweisungen auf Anfängerniveau zu halten.
quelle
git add
eines Verzeichnisses ist automatisch rekursiv. Die Verwendunggit add .
in der obersten Ebene des Repos sollte alles dort hinzufügen. Wenn nicht,.gitignore
ist im Spiel (lokal oder global)..gitignore
? Irgendwie werden deine Verzeichnisse vielleicht ignoriert.git status --ignored
?git add .
Sie müssen einige Dateien in die Verzeichnisse einfügen, damit git sie verfolgt.Antworten:
Machen,
während im Stammverzeichnis des Repositorys. Es wird alles hinzufügen. In
git add *
diesem Fall werden nur die Dateipunkte hinzugefügt*
. Der einzelne Punkt bezieht sich auf das Verzeichnis.Wenn Ihr Verzeichnis oder Ihre Datei nach dem obigen Befehl nicht zu git index / repo hinzugefügt wurde, müssen Sie überprüfen, ob es in der .gitignore- Datei von git als ignoriert markiert ist .
quelle
cd Dir1; git init; git add . ; git commit;
Es ist nichts anderes erforderlich. Wenn .gitignore Dateien in einem Verzeichnis ignoriert und sie dennoch hinzufügen möchte, müssen Sie diesgit add -f .
stattdessen tungit add .
.Einfache Lösung:
quelle
Sie können auch auf Probleme stoßen, wenn ein Unterverzeichnis selbst ein Git-Repository ist, dh ein Git-Verzeichnis hat
ls -a
.Zum Entfernen gehen Sie in das Unterverzeichnis und
rm .git -rf
.quelle
Auch kämpfte, aber es richtig zu tippen
git add -f ./JS/*
Dabei war JS mein Ordnername, der Unterordner und Dateien enthält
quelle
Ich kann nicht sicher sagen, ob dies der Fall ist, aber was für mich ein Problem zu sein schien, war, dass .gitignore-Dateien in einigen Unterverzeichnissen vorhanden waren. Auch dies kann ich nicht garantieren, aber alles hat funktioniert, nachdem diese gelöscht wurden.
quelle
Wahrscheinlich .gitignore Datei s sind im Spiel. Beachten Sie, dass Gitignore-Dateien nicht nur auf der Stammebene des Repos, sondern auch auf jeder Unterebene angezeigt werden können. Sie können dies von der Stammebene aus versuchen, um sie zu finden:
finden . -name ".gitignore"
Überprüfen Sie anschließend die Ergebnisse, um festzustellen, welche möglicherweise das Hinzufügen Ihrer Unterverzeichnisse verhindern.
Möglicherweise sind auch Submodule beteiligt. Überprüfen Sie die fehlerhaften Verzeichnisse auf ".gitmodules" -Dateien.
quelle
Ich habe dieses Problem schon einmal gesehen, als der Name des (Unter-) Ordners, den ich hinzufügen wollte, mit "_Something_" begann.
Ich habe die Unterstriche entfernt und es hat funktioniert. Überprüfen Sie, ob Ihr Ordner Zeichen enthält, die möglicherweise Probleme verursachen.
quelle