repo 源码控制工具
它是一种对git构成补充的Google代码库管理工具,repo可以整合多个git代码仓库,
并将内容上传到gerrit版本控制系统中去。
repo有两个仓库,一个是管理项目清单的仓库manifests,另一个是管理仓库的脚本的仓库repo。
当有人使用repo初始化一个项目时就会把这两个仓库拷贝到本地。
repo项目清单
cd .repo/manifests
vi default.xml
在这个xml文件中包含了repo管理的所有信息。
default.xml中的关键字
例如:
关键字 | ASCII |
---|---|
<remote> | 描述了远程仓库的基本信息 |
<default> | default标签定义的属性将作为<project> 标签的默认属性 |
<project> | 每一个repo管理的git库 |
repo脚本的存储位置
cd ./repo/repo
在这个文件夹中存放着repo的命令集,以及相应的脚本源码。
repo命令
例如:
命令 | 格式 |
---|---|
repo init -u url[options] | 在当前目录会创建一个.repo目录,其中包含repo源码以及项目清单 |
repo sync [project-list] | 下载新的更改并且更新本地环境中的工作文件 |
repo statrt branch-name[project-list] | 从清单中指定的修订版本开始,创建一个新的分支进行开发 |
repo upload[project-list] | 对于指定的项目,repo会将本地分支与最后一次repo sync时更新的远程分支进行比较,选择分支上传到gerrit |
repo diff[project-list] | 显示提交与工作树之间明显的更改 |
repo download target change | 从审核系统中下载指定更改,并放在本地工作目录中供使用 |
repo forall[project-list] -c command | 在每个项目中运行指定的shell命令 |
repo prune[project-list] | 删除已合并的主题 |
repo status[project-list] | 对指定的香满园,将工作树与临时区域以及次分支最近一次的提交进行对比 |