Web專案經理手冊之版本控制流程

楊爭發表於2008-07-04
       大家在專案過程中是否會經常發生以下問題:
1、測試人員在測試階段更新測試環境時,發現編譯不通過,或者應用出現異常,無法進行測試。後來發現的根源是測試和開發共用一個分支。
2、有一天某個人群發了一條郵件通知,“我們的專案程式碼已經發到主幹,這段時間大家不要修改主幹資訊”,這樣影響其他專案的正常釋出。
3、專案進行了比較長的時間,等最後釋出,需要與主幹進行合併的時候,出現大量的衝突,幾乎沒法處理。而且衝突處理完後我們還需要重新再做測試,以保證我們的衝突處理沒有問題,這樣又會需要花費大量的時間。

 版本控制流程目標:
1、保證各個環境(開發、測試、主幹)的獨立,避免相互影響。
2、減少最終釋出時合併主幹出現衝突的概率。
3、降低衝突處理的難度。

原則:
多個版本(開發版本,測試版本,釋出版本);多次合併。

流程:
1、專案開發編碼前從當前主幹建立一條開發分支,供專案開發人員使用;
2、開發結束,提交測試的時候,從當前主幹建立一條測試分支,將開發分支合併到測試分支上,供測試人員進行測試。這樣開發人員對開發分支的修改不會影響測試環境;
3、bug fix的時候我們定時將開發分支的修改合併到測試環境中。
3、迴歸測試的時候,從當前主幹建議一條釋出分支,將測試分支合併到該釋出分支上,在釋出分支上進行迴歸測試。
4、釋出前,將釋出分支合併到當前主幹。

好處:
1、多個版本相互獨立,互不影響
2、通過多次與主幹的合併,這樣釋出時候和主幹做最後一次合併的衝突會大大減少,並且在與主幹多次合併過程中的衝突解決都在測試階段中得到了測試。

建議:
如果專案的週期比較長,和主幹進行合併的次數也應該加大,以降低處理衝突的難度。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14710110/viewspace-371921/,如需轉載,請註明出處,否則將追究法律責任。

相關文章