如何更新下载为ZIP文件的GitHub项目?

如何更新下载为ZIP文件的GitHub项目?,git,github,repository,Git,Github,Repository,我使用下载ZIP链接下载了一些大型GitHub存储库的存档。它只包含源代码,因此不再是克隆或git回购。然后,我在磁盘上对这段代码做了一些更改,现在我想使用原始GitHub repo中的HEAD修订代码(自从我下载ZIP文件以来,它已经发生了更改)对其进行更新。但这是一个大型回购协议,所以我不想下载所有的文件,只想下载修改过的文件 我是否应该git init在现有的源代码文件夹中创建一个新的repo,然后git add.和git commit然后git remote add originhttp

我使用下载ZIP链接下载了一些大型GitHub存储库的存档。它只包含源代码,因此不再是克隆或git回购。然后,我在磁盘上对这段代码做了一些更改,现在我想使用原始GitHub repo中的HEAD修订代码(自从我下载ZIP文件以来,它已经发生了更改)对其进行更新。但这是一个大型回购协议,所以我不想下载所有的文件,只想下载修改过的文件

我是否应该
git init
在现有的源代码文件夹中创建一个新的repo,然后
git add.
git commit
然后
git remote add originhttps://github.com/someuser/someproject.git
git pull origin master
?这会只下载修改过的文件吗

这会只下载修改过的文件吗

不,Git总是处理回购协议的所有文件。在您的情况下,对几乎为空的回购协议(只有一次修订)的git pull仍将获取所有修订

简单地克隆repo(即使它是一个大的repo)并复制您的修改,
git add
,commit and push(提交并推送):这将只推送修改后的文件

<>从Git 1.9,你可以考虑一个浅克隆(只克隆最后一个版本),因为你现在可以从这个浅克隆中推出来。
请参阅“”。

克隆和提交/推送更改更容易。 如果您不知道如何使用Git,请参见以下内容:


git pull是否总是下载整个repo,即使本地文件未被修改?@niu不,git clone会。git pull只下载增量。那么为什么你在回答中说,
git pull
不会只下载修改过的文件呢?我不想克隆一个repo,而是初始化一个本地repo并将其与远程repo合并,以便只下载更改的文件(delta)。有可能吗?@niutech,因为它仍然可以获取所有历史记录。Git需要历史,以便根据所述历史检测更改并推送增量。请注意,自git 1.9.0以来,您可以尝试浅层克隆(只克隆最后一个版本,而不是完整的历史记录):。这可能是你的解决方案。请参阅我编辑的答案。