Android 代碼開發工做流

1、概述

要使用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經過在瀏覽器中並排顯示更改並啓用內聯註釋來更輕鬆地進行審閱。網絡

2、基本工做流

在android裏,開發與代碼庫經常使用的交互模式以下:ide

  • 下載代碼
  • 編輯文件,提交修改
  • 提交修改到gerrit
  • Gerrit觸發Jenkins 任務,進行代碼檢查
  • Reviewer 對代碼進行Code review
  • Submit到代碼庫

Android 代碼開發工做流

3、下載代碼

要同步全部可用項目的文件:工具

$ repo sync

要同步所選項目的文件:設計

$ repo sync PROJECT0 PROJECT1 PROJECT2 . . .

4、編輯文件,提交修改

按照需求修改好文件以後,使用以下命令能夠先暫存你的修改。版本控制

git add -A

而後使用git commit 將暫存的文件提交。code

5、提交修改到gerrit

在提交到gerrit以前,現將本地代碼更新到最新blog

repo sync

這個時候,可能會出現代碼衝突。須要對產生衝突的文件進行修改,而後從新git add .和git commit 最後在執行

git rebase --continue

而後執行

repo upload

這將列出您提交的更改,並提示您選擇要上傳到gerrit上的分支。若是隻有一個分支,您將看到一個簡單的y / n提示符。

下圖是代碼在本地經過git和repo的操做圖表。

Android 代碼開發工做流

6、Gerrit觸發Jenkins 任務,進行代碼檢查

當修改提交到gerrit上以後,會自動觸發jenkins 任務,進行代碼檢查。這時咱們進行代碼審查的第一步。
根據咱們制定的代碼檢查規範,檢查當前的這筆提交是否知足咱們的須要。

若是沒有經過代碼檢查,會對這筆提交進行 vertify -1;經過的話,會進行vertify +1。

代碼檢查這一步,是後面reviewer進行代碼審查的一個重要依據。沒有經過的話,開發必定要從新修改代碼進行提交。

並且,代碼檢查的經過率,也是評價這個開發代碼質量的一個重要標準。

7、Reviewer 對代碼進行Code review

代碼在提交到gerrit上以後,除了進行jenkins的代碼審覈以外,還會給各個負責人(Reviewer)發送審覈邀請,由他們進行下一步的代碼審覈。

Reviewer評審的依據:

  • Jenkins job進行代碼檢查的結果;
  • 代碼設計是否合理;
  • 是否知足需求;
  • 是否能夠解決已有的問題;
    ……

Reviewer能夠在代碼添加comments,發表本身的建議、質疑、修改意見……

開發要回復這些comment,並對代碼進行適當的修改,從新提交,直到reviewer認爲你的修改知足要求,並給你Code Review +1或+2.

而若是一筆提交長時間沒有任何改動,會自動abandon掉,而不須要的修改,也能夠手動abandon掉。

8、Submit到代碼庫

當一筆提交已經被Code Review +2了,說明這筆提交已經知足了須要,這時該筆提交的gerrit界面上會出現「submit」按鈕,點擊這個按鈕,咱們就能夠將這筆提交到代碼庫裏面

相關文章
相關標籤/搜索