2017-01-04 7 views
1

Ich habe einen www Ordner, in dem ich alle meine Projektdateien in ihrem jeweiligen Ordner haben. Ich aktualisiere diese einzelnen Projekte regelmäßig in git.Git nicht pushen alle Dateien

Kürzlich habe ich versucht, den gesamten Ordner www in einem komplett anderen Repository, aber es ignoriert die Projekte, die bereits in ihre jeweiligen Repo geschoben wurden.

enter image description here

Hier habe ich pset7 Ordner als ganz andere Repo, aber wenn ich versuche, die Eltern (dh www) sein ignoriert alle Dateien in pset7 und zeigt als leeres Verzeichnis auf GitHub zu schieben.

+0

Von der Befehlszeile in Ihrem 'www'-Ordner geben Sie' git log pset7' ein und sagen uns, was die Ausgabe ist. –

+1

werfen Sie einen Blick auf Git Submodul docs: https://git-scm.com/docs/git-submodule – pedrorijo91

+0

Vielen Dank @pedrorijo ... das genau was ich wollte! –

Antwort

1

Wenn Sie den übergeordneten Repo drücken, werden die darin enthaltenen Submodule nicht verschoben. Sie können den Befehl git push --recurse-submodules verwenden.

Zusätzlich können Sie die Optionen check und on-demand:

  • Wenn check verwendet wird, wird geprüft, ob alle Submodul, dass in den Versionen geändert verpflichtet sind auf einem entfernten verfügbar geschoben werden . Andernfalls wird der Push abgebrochen und mit einem Status ungleich Null beendet. Wenn On-Demand verwendet wird, werden alle Submodule, die in den zu druckenden Revisionen geändert wurden, verschoben.

  • Wenn on-demand war es, alle notwendigen Änderungen nicht in der Lage es wird
    auch Nicht-Null-Status abgebrochen werden drücken und Ausgang mit.

... verwenden also den Befehl git push --recurse-submodules=on-demand in Ihrem Elternverzeichnis und Sie werden auch schieben alle Submodule (das heißt repos) eine Ebene nach unten aus dem übergeordneten Repo.

Verwandte Themen