要使用Android代码,您须要使用Git和Repo。在大多数状况下,您可使用Git而不是Repo,或者使用Repo和Git命令来造成复杂的命令。然而,使用Repo进行基本的跨网络操做将使您的工做更简单。android
Git是一个开源版本控制系统,旨在处理分布在多个存储库中的大型项目。在Android中,咱们使用Git进行本地操做,如本地分支,提交,差别和编辑。git
Repo是在Git之上构建的存储库管理工具。 Repo在必要时统一了许多Git存储库,上传到版本控制系统,并自动部署了Android开发工做流程。 Repo并不意味着取代Git,只是为了在Android的中更容易使用Git。 repo命令是可执行的Python脚本,您能够将其放在路径的任何位置。在使用Android源文件时,您将使用
Repo进行跨网络操做。例如,使用单个Repo命令,您能够将文件从多个存储库下载到本地工做目录。浏览器
Gerrit是使用git的项目的基于Web的代码审查系统。 Gerrit鼓励更多的集中使用Git,它容许全部受权用户提交更改,若是经过代码审查,这些更改将自动合并。此外,Gerrit经过在浏览器中并排显示更改并启用内联注释来更轻松地进行审阅。网络
在android里,开发与代码库经常使用的交互模式以下:ide
要同步全部可用项目的文件:工具
$ repo sync
要同步所选项目的文件:设计
$ repo sync PROJECT0 PROJECT1 PROJECT2 . . .
按照需求修改好文件以后,使用以下命令能够先暂存你的修改。版本控制
git add -A
而后使用git commit 将暂存的文件提交。code
在提交到gerrit以前,现将本地代码更新到最新blog
repo sync
这个时候,可能会出现代码冲突。须要对产生冲突的文件进行修改,而后从新git add .和git commit 最后在执行
git rebase --continue
而后执行
repo upload
这将列出您提交的更改,并提示您选择要上传到gerrit上的分支。若是只有一个分支,您将看到一个简单的y / n提示符。
下图是代码在本地经过git和repo的操做图表。
当修改提交到gerrit上以后,会自动触发jenkins 任务,进行代码检查。这时咱们进行代码审查的第一步。
根据咱们制定的代码检查规范,检查当前的这笔提交是否知足咱们的须要。
若是没有经过代码检查,会对这笔提交进行 vertify -1;经过的话,会进行vertify +1。
代码检查这一步,是后面reviewer进行代码审查的一个重要依据。没有经过的话,开发必定要从新修改代码进行提交。
并且,代码检查的经过率,也是评价这个开发代码质量的一个重要标准。
代码在提交到gerrit上以后,除了进行jenkins的代码审核以外,还会给各个负责人(Reviewer)发送审核邀请,由他们进行下一步的代码审核。
Reviewer评审的依据:
Reviewer能够在代码添加comments,发表本身的建议、质疑、修改意见……
开发要回复这些comment,并对代码进行适当的修改,从新提交,直到reviewer认为你的修改知足要求,并给你Code Review +1或+2.
而若是一笔提交长时间没有任何改动,会自动abandon掉,而不须要的修改,也能够手动abandon掉。
当一笔提交已经被Code Review +2了,说明这笔提交已经知足了须要,这时该笔提交的gerrit界面上会出现“submit”按钮,点击这个按钮,咱们就能够将这笔提交到代码库里面