簡體   English   中英

使用Mercurial的按功能划分的工作流程

[英]Branch-per-feature workflow using Mercurial

我們有10個開發人員組成的團隊,他們為不同的功能並行工作,有時候這些功能會使用通用代碼。 現在我們正在將我們的流程改為按功能分支,而且似乎更適合這種開發。

我看到這個過程是這樣的:1。從默認(主干)創建發布分支(rb)2。從默認(主干)創建功能分支(fb)

當開發人員認為他的功能完成后,他可以將fb合並到rb。 當我們去QA時,我們將所有已完成的fb合並到rb並為我們的QAs創建發布。

問題:

  1. 當QA發現錯誤時,開發人員應該修改他的fb並將其再次合並到rb。 這是否意味着開發人員只是切換到他的fb並開始修復bug然后再次簡單地將fb合並到rb?

  2. 當發布QA時,它會轉到PROD - 我們如何凍結更改? “hg tag”是不錯的選擇,但有人可以更新標簽,如果他真的想要它。

謝謝

如果您要合並到特定的發布分支,那么您的功能分支應該從發布分支而不是主干分支。 與父分支合並比非父分支更簡單。

1)如果你真的想做功能分支,那么每個bug都有自己的分支。 這將有助於將錯誤修復與新功能分開。 畢竟,它是每個功能的分支,而不是每個開發人員的分支。

2)Hg標簽是我用過的。 你是對的,如果有人改變移動標簽,但標簽是版本化的,你可以在主hg repo上安裝鈎子,以便在移動標簽時拋出警報。 我真的不擔心標簽被移動,除非你不相信你的開發人員,在這種情況下你被搞砸了。

你的第一個問題的答案是'是'。

凍結發布的最佳方法是使用單獨的發布克隆,只有發布管理器可以推送/拉動更改集。 僅僅因為您使用分支並不意味着多克隆在您的工作流程中沒有位置。 有一個克隆,QA做最后的飛行前測試,開發人員不能推動變化使得一個偉大的防火牆。

另外,請考慮為功能分支使用書簽。 因為,我確定你知道,Mercurial命名的分支名稱永遠不會消失,類似git的書簽適用於類似功能和錯誤的排序概念。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM