首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是git-repo init和git-repo sync?

什么是git-repo init和git-repo sync?
EN

Stack Overflow用户
提问于 2013-08-10 20:41:38
回答 3查看 10.2K关注 0票数 3

我使用的是谷歌的git-repo插件。根据我的理解,repo sync将从存储库中下载整个源代码(即以前的版本)。这就是为什么要花很多时间来完成整个过程。

我们可以只从存储库中下载最新的提交吗?

EN

回答 3

Stack Overflow用户

发布于 2013-08-11 00:26:08

我没有使用repo,但是看起来你可以通过pass the --depth flag连接到repo init。使用像repo init -u URL --depth=1这样的东西。深度标志被传递给git-clone,并创建一个仅包含部分历史记录的存储库:

--depth <depth>

创建一个克隆,其历史记录被截断为指定数量的修订版。浅存储库有许多限制(您不能从它克隆或获取,也不能从它推入或推入),但如果您只对具有较长历史的大型项目的近期历史感兴趣,并且希望将修复作为补丁发送,则它就足够了。

票数 5
EN

Stack Overflow用户

发布于 2013-08-10 22:23:29

是的,默认情况下,git fetch (这是git clone的一部分)将获取远程存储库的完整历史记录。

您可以使用fetch命令的--depth选项限制检索到的历史记录的数量(克隆会将其传递给fetch)。要检索尽可能少的历史记录,您可以使用:

代码语言:javascript
复制
git clone --depth 1 REPO_URL

这将检索最新的提交和紧接其前的提交,但不会检索较旧的提交。不可能只检索最新的提交,因为深度为0会被认为想要完整的历史记录;但这是接近的。

稍后,您可以使用深度更大的git fetch来增加可用历史记录的数量,或者使用git fetch --unshallow来检索完整的历史记录。

目前,浅层存储库存在许多限制。git clone --depthdocs表示:

浅存储库有许多限制(你不能从它克隆或获取,也不能从它推入或推入),但如果你只对一个有很长历史的大型项目的最近历史感兴趣,并且想要以补丁的形式发送修复,那么它就足够了。

尽管最近已经有了减少甚至消除这些限制的工作。

票数 2
EN

Stack Overflow用户

发布于 2013-08-10 20:48:12

你要找的可能是git pull the docs。您首先需要将github存储库添加为远程主机:

代码语言:javascript
复制
git remote add master git@github.com:username/repository.git

之后,您可以从存储库中提取。在github上也有一个链接,可以将任何提交下载为.zip文件。它的格式通常是:

代码语言:javascript
复制
https://github.com/username/repository/archive/master.zip
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18161980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档