日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

AGit-Flow 阿里巴巴集中式 Git 工作流

想像一下:

  • 能否讓創建代碼評審就像執行 git push 命令一樣的簡單?

  • 開發者不用切換工具,將原來需要幾分鐘才能完成的創建代碼評審的時間,縮短到幾秒鐘,是不是很酷?

采用 AGit-Flow 模式,借助 git-repo工具,它為 Git 插上了翅膀。

什么是 AGit-Flow ?

如何將 GitHub 和 Gerrit 兩種工作流結合到一起并且兼具他們的優點?在 Gerrit 的啟發下,我們在 CGit 的基礎上創建了一個集中式 Git 工作流,我們稱之為 “AGit-Flow”。

使用 AGit-Flow 工作流,無需創建派生倉庫,也無需在倉庫中創建特性分支,只讀用戶就可以通過git push命令創建代碼評審。

為此,我們開發了配套的命令行工具 “git-repo”,既能在單倉庫下工作,又支持類似 Android 的多倉庫項目協同。

AGit-Flow 工作流

單倉庫下 AGit-Flow 工作流如下圖所示:

圖中的兩個角色,一個是開發者,另外一個是評審者。

開發者通過如下操作,創建和更新 pull request:

  1. 開發者克隆倉庫。

  2. 本地倉庫內開發,創建提交。

  3. 工作區中執行 git pr 命令,推送本地提交到服務器。

  4. 服務器自動創建新的代碼評審(例如:pull request #123)。

  5. 開發者根據評審意見,在本地工作區繼續開發,新增或修改提交。

  6. 工作區中再次執行 git pr 命令,推送本地提交到服務器。

  7. 服務器發現目標分支上已經存在來自同一用戶、同一本地分支的 pull request,因此用戶此次推送沒有創建新的 pull request,而是更新已經存在的 pull request。

代碼評審者,不但可以給出評審意見,也可以直接發起對評審代碼的修改,更新 pull request:

  1. 代碼評審者執行 git download 123 下載編號為 123 的 pull request 到本地倉庫。

  2. 代碼評審者本地修改代碼后,執行 git pr --change 123 命令,將本地修改推送到服務端。

  3. 服務端接收到代碼評審者的特殊 git push 命令,更新之前由開發者創建的 pull request。

  4. 項目管理者通過點擊 pull request 評審界面的合并按鈕,將 pull request 合入 master 分支。master 分支被更新,同時關閉 pull request。

下面是單倉庫下 AGit-Flow 工作流的演示:

git-repo-single

多倉庫協同演示參見:https://git-repo.info/zh_cn/docs/multi-repos/overview/

git-repo 工具

git-repo是阿里巴巴開源的一款命令行工具,對原生 Git 命令做了封裝,簡化了使用 AGit-Flow 等集中式工作流時稍嫌繁瑣的 Git 命令。

git-repo 可以支持 AGit-Flow 兼容的代碼平臺以及 Gerrit,下載參見工具下載