repo init详解

这篇具有很好参考价值的文章主要介绍了repo init详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先选择manifest源,一般直接使用清华或中科大的镜像源
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest是清华提供的镜像源
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest是中国科学技术大学的镜像源

repo init推荐使用-b 分支标签、--depth=1和--platform=auto这几个选项加快速度

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-5.1.1_r9 --depth=1 --platform=auto
repo sync推荐使用--current-branch选项加快速度

repo sync --current-branch
另外:中科大限制了每个用户最多使用4线程,因此指定-j8选项并不能提高下载速度。

repo init 与 repo sync 区别

repo init:更新本地的repo 

repo sync: 下载代码到本地。

repo init to bring down the latest version of Repo with all its most recent bug fixes.

repo sync,这一步才是真正的从服务器把源码下拉的过程,repo相当与是执行了多个git,期间有一个git出问题,比如网络卡神马的就中断,然后就是重复repo sync

关于repo的基本用法,这里有http://source.android.com/source/using-repo.html

普通repo init的用法

repo init -u git://android.git.kernel.org/platform/manifest.git

片刻等待之后,仓库初始化完成。此时,这个仓库只是更新了repo这个构建工具本身,并下载了整个Android源码仓库的一个清单的版本库, 在~/android/.repo下面能够看到这些文件

.repo 具体分析

其中 ~/android/.repo/repo 目录是构建工具的全部代码(及其.git目录)。

其次是.repo/下还包含一个manifest.xml指向 ~/android/.repo/manifests/default.xml文件,这个是整个Android源码库的清单文件,之后repo这个工具会 根据这个清单依次下载所有的代码。

然后是~/android/.repo/manifests/.git (指向~/android/.repo/manifest.git)它是这个清单文件的版本库

然后,repo init命令是根据default.xml里面的链接,逐个获取每个子项目的信息(将来repo sync的时候存在.repo/projects下),信息包括这些子项目的名称,服务器存放位置,client下载后应该的存放位置。一个default.xml的例子如下:
repo init,Git,git,github,python

 repo init,Git,git,github,python

到这里repo init的工作就做完了,总结一下,repo init得到了repo工具本身,和一份子项目清单(default.xml,清单含版本信息,即repo init时 -b选项指定) 

特殊的repo init用法,建立一个镜像

repo init还有两个不太常用的选项 --mirror 和 --reference

repo init,Git,git,github,python

加--mirror的话,repo init变成把git server的特定branch镜像到本机(将来本机可以做镜像server。小公司局域网内部用很好) repo init --mirror之后sync的效果与不加mirror完全不同,本地出现git服务器的文件布局,试试才知道哦。 我觉得,这个功能直接叫repo mirror的话比较清楚。具体repo init --mirror封装了什么git命令,没有搞清楚,还不太懂git命令,也没研究repo的init.py的源码。

to-be-mirrored-branch的选取是有学问的,选的好,会提高后面下载的命中率。不加branch,用master也行。到底应该用什么呢?我也不知道... 我想master, gingerbread是两个不错的选择。  而如果你选了donut,一个很老的分支作为mirror,将来下面这一步你选下载gingerbread的话,肯定命中率就不高了(但是仍然可以这样做,不会出错才对。因为当mirror里面找不到时,还会回到原始server去找,只是mirror或者叫cache的命中率低而已。希望我的理解是正确的)
repo init,Git,git,github,python

再另开一个目录加--reference试试看,跟普通repo init含义一样,但是需要指定一个本地mirror好的文件夹作为参数,代表说以后sync时优先参考这个本地mirror,这样下载速度就可以大大提高。  (光是提高下载速度么?应该是吧....)

另外镜像一个git server后,把远程仓库复制到本地文件夹,自己做server也有可能性了!!而且确实有人这样做,具体是通过修改(篡改)manifest.xml里面的url链接,架设自己的git server。但我想这大概不是mirror功能的本意,本意还是提高sync的速度。
 文章来源地址https://www.toymoban.com/news/detail-821907.html

到了这里,关于repo init详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git详解及 github与gitlab使用

    目录 1.1 关于版本控制 1.1.1 本地版本控制 1.1.2 集中化的版本控制系统 1.1.3 分布式版本控制系统 1.2 Git简介 1.2.1 Git历史 1.3 安装git 1.3.1 环境说明 1.3.2 Yum安装Git 1.3.3 编译安装 1.4 初次运行 Git 前的配置 1.4.1 配置git 1.4.2 获取帮助 1.5 获取 Git 仓库(初始化仓库) 1.5.1 创建裸库 1.

    2024年02月22日
    浏览(39)
  • 【Git】保姆级详解:Git配置SSH Key(密钥和公钥)到github

    博主简介: 22级计算机科学与技术本科生一枚🌸 博主主页:是瑶瑶子啦 每日一言🌼: “当人们做不到一些事情的时候,他们会对你说你也同样不能。”——《当幸福来敲门》 克里斯加德纳 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目

    2024年02月14日
    浏览(62)
  • git&repo入门

    2.1 git介绍 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 他是Linus Torvarlds为了帮助管理linux内核开发而开发的一个开放源码的版本控制软件 2.2 repo介绍 Repo 是对 Git 构成补充的多(可以巨多的那种)代码库管理工具,简单说就是使用 Python 在

    2024年02月11日
    浏览(38)
  • Git repo工具使用教程

    参考文档: git repo工具详细使用教程——彻底学会Android repo的使用git-repo大魔王爱学习的博客-CSDN博客 Manifest Format – git-repo: a git wrapper from Alibaba repo是Google开发的用于管理Android版本库的一个工具,repo是使用Python对git进行了一定的封装,并不是用于取代git,它简化了对多个G

    2024年02月06日
    浏览(38)
  • 初学git&repo的种种

    经过各种折腾之后,发现git其实还是很简单的; 首先你需要两台机器,一台作为 服务器 ,一台作为 开发机器 ,开发机器从服务器上拉取代码。 目 目录 git建仓 开发机器拉取代码 初始化仓代码 repo管理 repo工具的下载 repo同步时,无法访问google或者离线,则可以从国内源或者

    2024年02月03日
    浏览(28)
  • 1、Git使用不完全指南:GitHub的使用详解

    GitHub 是一个以开源为基础的社交化编程平台,开发者可以在上面分享代码、协同开发、交流等。下面我们来讲一下如何使用 GitHub。 注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料 ,将在公众号 CTO Plus 发布,请关注公众号: CTO Plus 首先,我

    2023年04月10日
    浏览(46)
  • Git 更改remote repo 地址

    我们想更换远程 repo 地址, 因为我们仓库更换了名称. git remote rename origin 查看现在的 romote 地址 参考文档 https://www.cnblogs.com/Nyan-Workflow-FC/p/14454788.html 分享快乐,留住感动. \\\'2023-12-10 06:53:23\\\' --frank

    2024年02月04日
    浏览(34)
  • repo和git的常用命令

    repo是Google开发的用于管理Android版本库的一个工具,repo是使用Python对git进行了一定的封装,并不是用于取代git,它简化了对多个Git版本库的管理。用repo管理的版本库都需要使用git命令来进行操作。因此,使用repo工具之前,请先确保已经安装git。 repo是一个用于管理多个Git仓库

    2024年02月16日
    浏览(40)
  • Repo命令与git的关系

    Repo命令与git的关系是很密切的。 我们都知道,git是一个开源的版本控制系统,常用在大型项目的管理上。 我们对repo的使用和了解就比较少了。Repo是一个基于Git构建出来的工具,它的出现不是为了取代Git,而是为了更方便开发者使用Git这个工具。repo脚本的部分截图: 事实上

    2024年02月01日
    浏览(39)
  • 通过pycharm使用git和github的步骤(图文详解)

    1.集成Git。 打开Pycharm, 点击File--Settins--Version Control--Git 然后在 Path to Git executable中选择本地的git.exe路径。如下图: 2.集成GitHub 打开Pycharm, 点击File--Settins--Version Control--GitHub然后输入正确的Github用户名和密码,如下图: VCS--Import into Version Control--Share Project on GitHub 把Git版本库中

    2024年01月18日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包