行是知之始,知是行之成。这篇文章主要讲述Android 代码开发工作流相关的知识,希望能为你提供帮助。
一、概述要使用android代码,您需要使用Git和Repo。在大多数情况下,您可以使用Git而不是Repo,或者使用Repo和Git命令来形成复杂的命令。然而,使用Repo进行基本的跨网络操作将使您的工作更简单。
Git是一个开源版本控制系统,旨在处理分布在多个存储库中的大型项目。在Android中,我们使用Git进行本地操作,如本地分支,提交,差异和编辑。
Repo是在Git之上构建的存储库管理工具。 Repo在必要时统一了许多Git存储库,上传到版本控制系统,并自动部署了Android开发工作流程。 Repo并不意味着取代Git,只是为了在Android的中更容易使用Git。 repo命令是可执行的python脚本,您可以将其放在路径的任何位置。在使用Android源文件时,您将使用
Repo进行跨网络操作。例如,使用单个Repo命令,您可以将文件从多个存储库下载到本地工作目录。
Gerrit是使用git的项目的基于Web的代码审查系统。 Gerrit鼓励更多的集中使用Git,它允许所有授权用户提交更改,如果通过代码审查,这些更改将自动合并。此外,Gerrit通过在浏览器中并排显示更改并启用内联注释来更轻松地进行审阅。
二、基本工作流在android里,开发与代码库常用的交互模式如下:
- 下载代码
- 编辑文件,提交修改
- 提交修改到gerrit
- Gerrit触发Jenkins 任务,进行代码检查
- Reviewer 对代码进行Code review
- Submit到代码库
文章图片
三、下载代码要同步所有可用项目的文件:
$ repo sync
要同步所选项目的文件:
$ repo sync PROJECT0 PROJECT1 PROJECT2 . . .
四、编辑文件,提交修改按照需求修改好文件之后,使用如下命令可以先暂存你的修改。
git add -A
然后使用git commit 将暂存的文件提交。
五、提交修改到gerrit在提交到gerrit之前,现将本地代码更新到最新
repo sync
这个时候,可能会出现代码冲突。需要对产生冲突的文件进行修改,然后重新git add .和git commit 最后在执行
git rebase --continue
然后执行
repo upload
这将列出您提交的更改,并提示您选择要上传到gerrit上的分支。如果只有一个分支,您将看到一个简单的y / n提示符。
下图是代码在本地通过git和repo的操作图表。
文章图片
六、Gerrit触发Jenkins 任务,进行代码检查当修改提交到gerrit上之后,会自动触发jenkins 任务,进行代码检查。这时我们进行代码审查的第一步。
根据我们制定的代码检查规范,检查当前的这笔提交是否满足我们的需要。
如果没有通过代码检查,会对这笔提交进行 vertify -1;通过的话,会进行vertify +1。
代码检查这一步,是后面reviewer进行代码审查的一个重要依据。没有通过的话,开发一定要重新修改代码进行提交。
而且,代码检查的通过率,也是评价这个开发代码质量的一个重要标准。
七、Reviewer 对代码进行Code review代码在提交到gerrit上之后,除了进行jenkins的代码审核之外,还会给各个负责人(Reviewer)发送审核邀请,由他们进行下一步的代码审核。
Reviewer评审的依据:
- Jenkins job进行代码检查的结果;
- 代码设计是否合理;
- 是否满足需求;
- 是否可以解决已有的问题;
……
开发要回复这些comment,并对代码进行适当的修改,重新提交,直到reviewer认为你的修改满足要求,并给你Code Review +1或+2.
而如果一笔提交长时间没有任何改动,会自动abandon掉,而不需要的修改,也可以手动abandon掉。
八、Submit到代码库【Android 代码开发工作流】当一笔提交已经被Code Review +2了,说明这笔提交已经满足了需要,这时该笔提交的gerrit界面上会出现“submit”按钮,点击这个按钮,我们就可以将这笔提交到代码库里面
推荐阅读
- Android-okhttp?????????????????????????????????
- Android重复点击事件处理
- android开发时如何让svn更快些
- iPad微信协议抖音协议安卓协议
- Android System trace分析
- 微信域名防封技术,APP推广微信域名怎么避免防封,如何防拦截()
- 推荐一波2018年让人惊喜的手机小众APP
- create-react-app react脚手架
- android UI卡顿问题学习