web-dev-qa-db-ger.com

github-Änderungen, die nicht für das Commit bereitgestellt wurden

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?

50
Ryan Tice

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.

23
user212218

Hast du es versucht

git add .

Dies rekursiert sich in Unterverzeichnissen, wohingegen ich glaube, * tut es nicht.

Siehe hier

63
g-eorge

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.

36
Waleed Asender

in meinem Fall brauchte ich eine

 git add files
 git commit -am 'what I changed'
 git Push

das 'a' beim Commit wurde benötigt.

25
ivo Welch

In meiner Situation gab es ein Unterverzeichnis mit einem .git-Verzeichnis.

Was ich mache, ist einfach das .git-Verzeichnis aus meinem Unterverzeichnis zu entfernen.

8
Marvin W

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. 

2
Chris

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.

1
Unnit Metaliya

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.

1
John Miller

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.

1
apebeast

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.

0
Austin Reid

Dieser Befehl kann das Problem lösen:

git add -A

Alle Dateien und Unterverzeichnisse werden zur Verfolgung hinzugefügt.

Ich hoffe es hilft

0
Belachkar Ali