我使用的是谷歌的git-repo插件。根据我的理解,repo sync将从存储库中下载整个源代码(即以前的版本)。这就是为什么要花很多时间来完成整个过程。
我们可以只从存储库中下载最新的提交吗?
发布于 2013-08-11 00:26:08
我没有使用repo,但是看起来你可以通过pass the --depth flag连接到repo init。使用像repo init -u URL --depth=1这样的东西。深度标志被传递给git-clone,并创建一个仅包含部分历史记录的存储库:
--depth <depth>
创建一个浅克隆,其历史记录被截断为指定数量的修订版。浅存储库有许多限制(您不能从它克隆或获取,也不能从它推入或推入),但如果您只对具有较长历史的大型项目的近期历史感兴趣,并且希望将修复作为补丁发送,则它就足够了。
发布于 2013-08-10 22:23:29
是的,默认情况下,git fetch (这是git clone的一部分)将获取远程存储库的完整历史记录。
您可以使用fetch命令的--depth选项限制检索到的历史记录的数量(克隆会将其传递给fetch)。要检索尽可能少的历史记录,您可以使用:
git clone --depth 1 REPO_URL这将检索最新的提交和紧接其前的提交,但不会检索较旧的提交。不可能只检索最新的提交,因为深度为0会被认为想要完整的历史记录;但这是接近的。
稍后,您可以使用深度更大的git fetch来增加可用历史记录的数量,或者使用git fetch --unshallow来检索完整的历史记录。
目前,浅层存储库存在许多限制。git clone --depth的docs表示:
浅存储库有许多限制(你不能从它克隆或获取,也不能从它推入或推入),但如果你只对一个有很长历史的大型项目的最近历史感兴趣,并且想要以补丁的形式发送修复,那么它就足够了。
尽管最近已经有了减少甚至消除这些限制的工作。
发布于 2013-08-10 20:48:12
你要找的可能是git pull the docs。您首先需要将github存储库添加为远程主机:
git remote add master git@github.com:username/repository.git之后,您可以从存储库中提取。在github上也有一个链接,可以将任何提交下载为.zip文件。它的格式通常是:
https://github.com/username/repository/archive/master.ziphttps://stackoverflow.com/questions/18161980
复制相似问题