我剛開始使用Git,但我有點困惑。我只是得到我的頭圍繞在我選擇的工作目錄時,使用此命令推動整個本地目錄的GitHub:在Git中推送存儲庫的子文件夾?
git push -u origin master
現在,我的倉庫被稱爲/websites
。我將在我的Mac上有許多子文件夾,如/websites/website1
,/websites/website2
等。
如果我只想推送主存儲庫中的特定子文件夾,該怎麼辦?那可能嗎?另外我怎麼會只從一個子文件夾退回?
我剛開始使用Git,但我有點困惑。我只是得到我的頭圍繞在我選擇的工作目錄時,使用此命令推動整個本地目錄的GitHub:在Git中推送存儲庫的子文件夾?
git push -u origin master
現在,我的倉庫被稱爲/websites
。我將在我的Mac上有許多子文件夾,如/websites/website1
,/websites/website2
等。
如果我只想推送主存儲庫中的特定子文件夾,該怎麼辦?那可能嗎?另外我怎麼會只從一個子文件夾退回?
這不是git的工作方式。您所描述的行爲是如何工作的,如rsync
或scp
。 Git通過提交進行工作,而不是單個文件或目錄。這就是說,當你用git推動它時,它只會推送更改後的文件,而不是所有內容。
更好的工作流程是讓每個單獨的網站成爲自己的存儲庫。如果您不想處理這些問題,您可能會發現將每個網站保留在自己的分支中很有幫助。
啊,等待,只要它只推動**變化**那麼很好,它的工作。例如,如果我正在修改網站2,則可以對網站2進行更改並且它可以正常工作。 – Aaraeus
Git使用提交和分支。您不能推送文件或目錄,但只能提交。當然提交有樹(文件夾)和blob(文件)。在你的情況下,你可能想停止使'/ websites'成爲一個git倉庫,而是讓所有這些站點分開存儲庫。 – phd