代码拉取完成,页面将自动刷新
repo
,自备梯子(本工程已上传该文件repo):$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ repo init -u https://gitee.com/way/way -b repo
$ repo sync
如果提示以下信息,请自备提子翻墙吧(本工程已上传该文件clone.bundle):
warning: gpg (GnuPG) is not available.
warning: Installing it is strongly encouraged.
fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [Errno 8] nodename nor servname provided, or not known
或者有另外一种方式,先下载本工程的clone.bundle
并放到指定目录,比如我的在~/bin
,然后执行以下命令即可:
$ repo init -b repo https://gitee.com/way/way -b repo --repo-url ~/bin/clone.bundle
Android使用repo
来管理多个git项目。它需要一个manifest
XML文件来指示这些git项目的属性。
repo manifest XML可以包含下面的元素。
manifest
: 最顶层的XML元素。remote
: 设置远程git服务器的属性,包括下面的属性name
: 远程git服务器的名字,直接用于git fetch, git remote 等操作alias
: 远程git服务器的别名,如果指定了,则会覆盖name的设定。在一个manifest中,name
不能重名,但alias
可以重名。fetch
: 所有projects的git URL 前缀review
: 指定Gerrit的服务器名,用于repo upload操作。如果没有指定,则repo upload没有效果。<remote fetch="ssh://git.example.com" name="test"review="gerrit.example.com"/>
default
元素:设定所有projects的默认属性值,如果在project元素里没有指定一个属性,则使用default元素的属性值。remote
: 之前定义的某一个remote元素中name属性值,用于指定使用哪一个远程git服务器。revision
: git分支的名字,例如master或者refs/heads/mastersync_j
: 在repo sync中默认并行的数目。sync_c
: 如果设置为true,则只同步指定的分支(revision 属性指定),而不是所有的ref内容。sync_s
: 如果设置为true,则会同步git的子项目<default remote="main" revision="platform/main"/>
project
元素:指定一个需要clone的git仓库。name
: 唯一的名字标识project,同时也用于生成git仓库的URL。格式如下:${remote_fetch}/${project_name}.git
path
: 可选的路径。指定git clone出来的代码存放在本地的子目录。如果没有指定,则以name作为子目录名。remote
: 指定之前在某个remote元素中的name。revision
: 指定需要获取的git提交点,可以是master, refs/heads/master, tag或者SHA-1值。groups
: 列出project所属的组,以空格或者逗号分隔多个组名。所有的project都自动属于"all"组。每一个project自动属于name:'name' 和path:'path'组。例如,它自动属于default, name:monkeys, and path:barrel-of组。如果一个project属于notdefault组,则,repo sync时不会下载。sync_c
: 如果设置为true,则只同步指定的分支(revision 属性指定),而不是所有的ref内容。sync_s
: 如果设置为true,则会同步git的子项目。annotation
: 可以有多个annotation,格式为name-value pair。在repo forall 命令中这些值会导入到环境变量中。remove-project
: 从内部的manifest表中删除指定的project。经常用于本地的manifest文件,用户可以替换一个project的定义。<project groups="aosp" path="device/driver/armv7" revision="600aab270ce712b62b268055737cabcded59bf04"/>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。