2011-02-04 37 views
0

我不知道,如果這個問題是堆棧溢出有關的或應該對另一組交換平臺上發佈,但不管怎麼說..在Web開發生態系統中,這種分支策略是否有意義?

的問題是新的分支系統,我們必須考慮到在不久的將來採用。在工作中,我們開發主要的Web應用程序(電子商務,CMS,分類,特殊用途)和一些網站在PHP和我們的vcs是svn

這是我們要採用新的模式:

幹線:總是發展

分期(支):創建,用於測試遠程環境的新功能的一個分支(同一系統那住有,真的是一樣的服務器..)

(分支):住的分支。

其他分支開發併發功能。

現在,我們的想法是修正live,然後將更改推回到trunk。 直接在主幹或其他分支上開發功能,然後合併到主幹。

將主幹推入舞臺以準備即將上線的新功能;接着?我們如何才能把這個舞臺升級到現場分支?我們必須從主幹傳遞過來?

現在的策略是:

幹線:這是真人版

分公司每個功能

做幹路然後注入新鮮修正錯誤推到分支

Staging是一個工作副本,可在開發結束時切換到分支該特徵在合併回到主幹之前。

但這種方法也有一些缺點:

  • 總開關..

  • 沒有可能測試兩個並行分支

你怎麼看待新戰略?

+1

您是否評論過git-flow? http://nvie.com/posts/a-successful-git-branching-model/ – ceejayoz 2011-02-04 16:55:47

+0

難道你不只是從中繼合併到分段,做你的質量保證,然後再次合併到Live和部署? – 2011-05-16 18:13:13

回答

0

我們有用於大型功能開發的分支/功能,用於實時版本的發佈/ x.y(本質上作爲標籤,但偶爾會因爲多個版本同時發佈),而主幹用作發佈版本。錯誤修復在主幹上進行,並根據需要有選擇地推送到任何分支機構或發佈版本。

中繼通常運行在我們的臨時服務器(不同的硬件,僅限內部訪問)上,一旦穩定,我們會將其標記爲新版本並將其部署到實時硬件。

你沒有說你使用了什麼源碼控制系統,但是他們大多數都有推薦的策略(http://svnbook.red-bean.com/en/1.0/ch05s04.html#svn-ch-5例如,-sect-6.1)。