repo
-
基于git仓库管理的工具,是一个python脚本,为了方便管理多个git库开发的。Android源码包含多个git库,因此下载源码时引入了repo。
-
repo需要知道当前git库的路径
数量等信息来管理git库,形成了一个git库清单,repo是通过一个git库来管理这个清单,这个库就是manifests。 -
repo是一系列Python脚本的集合,也由一个git库来管理,这个库是repo。
-
在客户端repo初始化一个项目时会把manifest和repo这两个库从远程拷到本地,对于开发者是无形的。
repo常见命令
命令 | 说明 |
---|---|
repo init | 初始化新的客户端 |
repo start | 新建一个分支 |
repo sync | 下载远程代码,并将本地代码更新到最新,将客户端同步到代码库 |
repo upload | 把本地代码上传到远程服务器,并把改动生成一个文件上传到Gerrit,由reviewer翻阅 |
repo download | 把改动的代码下载到本地,配合Gerrit使用 |
repo prune | 删除无用分支 |
repo branches | 查看分支 |
repo checkout brancnName | 切换分支 |
repo abandon branchName | 删除指定分支 |
repo prune | 删除已合并分支 |
repo remote add remoteName url | 添加到远程仓库 |
repo init
repo init -u ssh://ppgerrit.com/Mstar648/manifest.git -b 648_cultraview -m ppos4.5.0_cultraview.xml
-u 选择一个url,连接到manifest仓库
-b 选择manifest一个分支
-m 选择manifest中的一个xml文件
repo sync
相当于克隆代码到本地仓库
Android推荐开发流程
- repo init初始化工程,并指定待下载的分支
- repo sync下载代码
- 将本地git库切换到开发分支
- 在本地修改,验证后提交到本地
- 上传到服务器,reviewer翻阅
从服务器上拉取代码流程
mkdir filename
cd filename
repo init -u....-b...-m....
repo sync
创建分支并切换到新的分支
repo start branchname
修改代码后添加到本地git管理,提交
git add
git commit
代码全部开发结束,提交到服务器上,切换到根目录上提交,如果没有path,默认整个根目录提交
repo upload path_name