REPO
为什么会有 repo 和 gerrit,还是要先回头说一下git:因为 git 在最初设计的时候,作者希望的是做一个SCM(Source Code Management)的核心,这样其他人就可以在这个核心上面开发各种 SCM。虽然他后来做着做着,就做成了一个功能完整的 SCM,但这并不影响其最初的设计:Google 于是在 git 的基础上开发了 repo 和 gerrit。
根据前面的介绍,管理代码改动都是由 git 完成的,repo 在整个系统中主要担任了什么角色呢?repo 在实际使用中主要担任2个角色:
- 和主代码服务器(gerrit)进行交互
- 根据前面提到的一个xml(manifest.xml)来管理多个 git 仓库
下面就从一个常见的工作流程来说明repo是如何工作的。(Google 的官方说明的链接:http://source.android.com/source/using-repo.html)
repo init -u url -b branchname
这个初始化命令主要干了两件事:
- 在当前目录里面下载安装 repo:对你没看错,就是安装 repo。因为最初你从网上下载的那个 repo 文件