2017-07-07 5 views
1

Ich habe gerade mit Git begonnen, aber ich bin ein wenig verwirrt. Ich habe gerade über meinen Kopf bekommen um die ganze lokale Verzeichnis zu GitHub schieben Sie diesen Befehl verwenden, wenn im Arbeitsverzeichnis meiner Wahl:Unterordner eines Repositorys in Git schieben?

git push -u origin master

Nun, mein Repository /websites genannt wird. Ich werde zahlreiche Unterordner auf meinem Mac haben, wie /websites/website1, /websites/website2, usw.

Was ist, wenn ich nur einen bestimmten Unterordner in meinem Haupt-Repository verschieben möchte? Ist das möglich? Wie würde ich mich auch nur von einem Unterordner zurückziehen?

+1

Git funktioniert mit Commits und Zweigen. Sie können keine Dateien oder Verzeichnisse senden, sondern nur Commits. Natürlich haben commits Bäume (Ordner) und Blobs (Dateien). In Ihrer Situation möchten Sie wahrscheinlich aufhören, '/ websites' zu einem git-Repo zu machen und stattdessen alle diese Sites zu separaten Repositories machen. – phd

Antwort

2

So funktioniert Git nicht. Das Verhalten, das Sie beschreiben, ist, wie etwas wie rsync oder scp funktioniert. Git funktioniert durch Commits im Gegensatz zu einzelnen Dateien oder Verzeichnissen. Das heißt, wenn Sie mit git pushen, werden nur geänderte Dateien übertragen, im Gegensatz zu allem anderen.

Ein besserer Workflow für Sie wäre, jede einzelne Website zu einem eigenen Repository zu machen. Wenn Sie damit nicht umgehen wollen, können Sie es für hilfreich halten, jede Website in ihrer eigenen Filiale zu halten.

+0

Ah warte, solange es nur ** Änderungen ** schiebt dann ist das in Ordnung, es klappt. Wenn ich zum Beispiel Website 2 ändere, kann ich Änderungen an Site 2 vornehmen und es funktioniert einwandfrei. – Aaraeus

Verwandte Themen