Ich habe ein sehr einfaches Github-Setup mit einer Readme-Datei, einem Verzeichnis und einem weiteren Verzeichnis mit einer HTML-Datei. Auf github kann ich nur die Readme-Datei und den ersten Ordner, aber keinen Inhalt sehen. Ich erhalte diese Nachricht
tc349 ryntc3$ git add *
tc349 ryntc3$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
(commit or discard the untracked or modified content in submodules)
modified: week1 (modified content)
no changes added to commit (use "git add" and/or "git commit -a")
Ich habe das Gefühl, wenn ich alles hinzufügen möchte, damit es keine Frage ist. Irgendeine Hilfe?
Ist week1
ein Submodul?
Beachten Sie den relevanten Teil aus der Ausgabe des Befehls git status
:
(Festschreiben oder Verwerfen des nicht protokollierten oder geänderten Inhalts in Submodulen)
Versuchen Sie cd week1
und geben Sie einen anderen git status
aus, um zu sehen, welche Änderungen Sie am week1
-Submodul vorgenommen haben.
Unter http://git-scm.com/book/de/Git-Tools-Submodules finden Sie weitere Informationen zur Funktionsweise von Submodulen in Git.
Hast du es versucht
git add .
Dies rekursiert sich in Unterverzeichnissen, wohingegen ich glaube, * tut es nicht.
Siehe hier
Ich denke, Sie müssen in den Ordner week1 gehen und den Ordner .git löschen:
Sudo rm -Rf .git
gehen Sie dann zum übergeordneten Ordner zurück und führen Sie Folgendes aus:
git add .
dann machen Sie ein Commit und drücken Sie den Code.
in meinem Fall brauchte ich eine
git add files
git commit -am 'what I changed'
git Push
das 'a' beim Commit wurde benötigt.
In meiner Situation gab es ein Unterverzeichnis mit einem .git
-Verzeichnis.
Was ich mache, ist einfach das .git
-Verzeichnis aus meinem Unterverzeichnis zu entfernen.
Ich hatte das gleiche Problem. Ich ging schließlich in das Unterverzeichnis, das "nicht für das Festschreiben" bereitgestellt wurde, und fügte hinzu, fügte hinzu und drückte von dort aus. Danach ging es eine Ebene höher zum Master-Verzeichnis und konnte korrekt pushen.
Ich habe alles probiert, was im gesamten Stackoverflow vorgeschlagen wurde. Nichts einschließlich -a oder -am oder irgendetwas hat geholfen.
Wenn Sie gleich sind, tun Sie dies.
Das Problem ist, git denkt, dass ein Teil Ihres Unterverzeichnisses ein Unterprojekt in Ihrem Wurzelprojekt ist. Zumindest war es in meinem Fall nicht so. Es war nur ein normales Unterverzeichnis. Kein individuelles Projekt.
Verschieben Sie dieses reguläre Unterverzeichnis, das nicht an einem temporären Ort gepusht wird.
Entfernen Sie den versteckten GIT-Ordner aus diesem Verzeichnis.
cd
im Stammverzeichnis.
git init
wieder.
git add .
wieder.
git commit -m "removed notPushableDirectory temporarily"
git Push -f Origin master
Wir werden es erzwingen müssen, da der Git den Konflikt zwischen dem entfernten Git und Ihrer lokalen Struktur sehen wird. Denken Sie daran, wir haben diesen Konflikt geschaffen. Machen Sie sich also keine Sorgen, es zu erzwingen.
Nun wird dieses Unterverzeichnis als Unterverzeichnis und nicht als Untermodul oder Unterprojekt innerhalb Ihres Root-Projekts gepusht.
Ich habe immer die gleiche Nachricht erhalten, egal was ich tat.
Um dies zu beheben, entfernte ich .gitignore und bekomme die Änderungen von Github nicht mehr für die Commit-Nachricht in Szene gesetzt. Bevor es mir erlaubte, einmal zu begehen, als ich git add lief. und danach würde die gleiche Nachricht erscheinen.
Ich bin nicht sicher, warum die .gitignore-Datei ein Problem verursacht hat, aber ich habe sie auf meinem lokalen Rechner hinzugefügt und höchstwahrscheinlich nicht richtig synchronisiert.
Für mich musste ich die Unterverzeichnisse festlegen, die .git
enthielten, da sowohl der übergeordnete als auch der Unterordner Remotes für Push to haben. Und dann Commit und Push das übergeordnete Verzeichnis.
Wenn es sich um ein Submodul handelt, müssen Sie es mit git add cd. && git commit -m 'Ihre Nachricht'
Von dort aus können Sie cd und Push an die gewünschte Filiale senden.
Dieser Befehl kann das Problem lösen:
git add -A
Alle Dateien und Unterverzeichnisse werden zur Verfolgung hinzugefügt.
Ich hoffe es hilft