2014-03-04 100 views
1

我已經使用下載ZIP鏈接下載了一些大型GitHub存儲庫的存檔。它只包含源代碼,所以它不再是一個克隆或git repo。然後我對磁盤上的代碼做了一些更改,現在我想使用原始GitHub回購(自下載ZIP文件後發生更改)的HEAD修訂代碼對其進行更新。但這是一個大的回購,所以我不想下載所有的文件,但只是修改後的文件。如何更新下載爲ZIP文件的GitHub項目?

我應該git init一個新的回購在我現有的源代碼文件夾,然後git add .git commit然後git remote add origin https://github.com/someuser/someproject.gitgit pull origin master?這會只下載修改後的文件嗎?

回答

1

這次下載只是修改後的文件嗎?

不,Git總是與一起使用回購的文件。在你的情況下,對一個幾乎空的回購(只有一個修訂版)的git將仍然取所有修訂。

簡單地克隆回購(即使它是一個大回購)實際上更容易,並複製您的修改,提交和推送:只會推送修改後的文件。

從Git 1.9.0開始,您可以考慮使用淺層克隆(僅克隆最後一個版本),因爲您現在可以從所述淺層克隆推送。
請參閱「How to git fetch efficiently from a shallow clone」。

+0

所以做'git的pull'總是下載整個回購,即使本地文件未經修改的? – niutech

+0

@niu不,git克隆。 git拉只拉三角洲。 – VonC

+0

那你爲什麼在你的回答中說'git pull'不會只下載修改過的文件?我不想克隆回購,而是初始化本地回購並將其與遠程回購合併,以便只下載更改後的文件(增量)。可能嗎? – niutech