文章目录
一、关于repo
repo是Google开发的用于管理Android版本库的一个工具,repo并不是用于取代git,而是用Python(所以你在后面会看到很多地方提及python)对git进行了一定的封装,简化了对多个Git版本库的管理。对于repo管理的任何一个版本库,都需要使用git命令进行操作。
1.1 介绍清单库文件
清单文件是以xml的格式组织的,一个清单库可以包含多个清单文件和多个分支,每个清单文件和分支都有对应的版本。
- remote元素:定义了名为korg的远程版本库,库的基址为git://172.16.1.31
- project元素:用于定义一个项目,path属性表示在工作区clone的位置,name属性表示该项目的远程版本库的相对路径。
- default元素:设置各个项目默认远程版本库为Korg,默认的分支为gingerbread-exdroid-stable。各个项目还可以定义自己的remote和revision覆盖默认的配置。
- project元素下的子元素copyfile 定义了项目clone后的一个附件动作,从src拷贝文件到dest
1.2 下载repo代码
1、新建项目存放的文件夹
mkdir mstar648
2、进入到项目文件夹
cd mstar648
3、执行代码拉取的命令
repo init -u ssh://ppgerrit.com/Mstar648/manifest.git -b 648_cultraview -m ppos4.5.0_cultraview.xml
1.3 探究repo文件夹
通过如下命令查看mstar648目录下
ls -a
可以看到目录下有个.repo文件夹,说明mstar648项目是一个用repo管理的版本库。进入到.repo,并查看目录内容。
可以看到.repo目录下有manifest、project、repo文件夹等信息。
- 如果想查看Python封装的脚本,可到.repo/repo下看到:
- 如果想查看某个模块当前是在哪个分支,可以进入到manifests中去:因为我们刚拉取代码的时候是ppos4.5.0_cultraview.xml,所以通过vim打开ppos4.5.0_cultraview.xml,然后可以通过 /模块名 ,查看到模块的分支信息。例如我们要看到PposTv的分支信息,就可以搜索/PposTv
二、 repo常用命令
2.1 解析拉取代码的命令
例如我们拉取代码的时候的命令如下:
repo init -u ssh://ppgerrit.com/Mst