2009-09-09 25 views
3

我爲每個新功能創建分支。然後,我將它們發送到測試站點後,我將它們合併到主幹中。 這意味着幹線不穩定。如何在不損壞中繼的情況下測試新功能?

我想知道是否有更好的方法。

編輯 閱讀評論後,我意識到,我應該規定,這是一個網絡applcation.So一個網站,測試每個分支似乎有點難以維持。

回答

0

爲什麼在測試完成之前將開發項目合併到主幹?您可以等到測試之後,確保這些更改在合併到主幹之前不會破壞您的系統,

您的一般合併策略是什麼?你有釋放分支還是你從後備釋放?

+0

中繼線包含版本。它也是一個Web應用程序。 我們遵循以下程序: - 開發人員在「暫存」數據庫上處理他們的機器; - 然後將更改推送到使用與開發人員相同的數據庫的臨時區域; - 如果測試通過,我們會在我們的預生產網站上推送文件,該文件通過新數據連接到數據庫; - 如果一切正常,我們會推動對生產的所有修改。 – MaoTseTongue

0

在美林返回樹幹之前,您能否獲得分支測試?

否則像Mercurial這樣的分佈式版本控制系統可能是前進的方向。有了這個,您可以爲每個功能定義新的存儲庫,並進行測試,並推送到「中繼」存儲庫。

+1

它是怎麼來的,總是當有人不知道如何分支,魔術銀彈是一個DVCS?對不起,工具無法勝任。 – gimpf

3

我寧願保持軀幹總是穩定的,我的話題here

+0

我也是。我現在意識到真正的問題是當它是一個Web應用程序時該怎麼做。 QA分支的網站需要幾個Apache配置。 – MaoTseTongue

+0

我猜想某種自動化設置,我們現在在這個模型中有網站的東西和應用程序的東西,它很好地工作。 –

3

的一件事是,你可以測試的分支,合併回之前一個很好的討論。通常情況下,幹線並不被視爲穩定的開發,您可以不時添加快照,修復其中的錯誤而無需添加功能(甚至可以在功能錯誤或不完整的情況下刪除功能),並將這些分支釋放爲穩定狀態。

編輯:稍微解釋一下:長時間保持功能分支與主幹線分離可能會導致整合困難。你的團隊認識到後期衝突的變化 - 不僅在源代碼級別,而且在語義或數據級別。保持幹線電流快速發現這些問題。因此我寧願穩定在一個單獨的分支上。

1

你可以有分支機構/ newfeatures和分支/穩定

樹幹心不是穩定的,但是當你在一個分支「凍結」樹幹......然後就是穩定分支。

4

我使用以下命令:

分支:不要總是編譯,並不總是穩定

幹線:總是編譯,並不總是穩定

標籤:總是編譯,總是穩定

最終測試是在標籤被轉換爲實時發佈標籤之前進行的。

這樣,如果樹幹不穩定

+0

我真的很喜歡這個評論,我想很多人在使用合併分支進入主幹時忘記了集成問題。 – Gord

1

你需要首先使用「標籤」,這是什麼,但標註軀幹的特定版本是什麼穩定的也沒關係。標籤通常用於標記版本,這意味着代碼對標籤版本是穩定的。

執行此操作的方法是維護所有成員貢獻代碼的主幹。如果一個成員想要開發和測試一個新功能,他就創建一個分支,開發他的東西,測試它,然後合併到主幹中。當你決定釋放下一個穩定版本的中繼線時,你測試中繼線代碼,如果發現穩定,那麼將該特定版本的中繼線標記爲發佈版本或穩定版本。否則,修復後備箱或分支中的錯誤,並將其合併回中繼線,再次測試後備箱,如果發現穩定,則將其標記爲穩定釋放。在這裏,你總是認爲標籤是一個穩定版本,幹線是開發版本,你的分支是實驗版本。

但即使在這裏,您需要對進入幹線的內容以及決定穩定版本的內容進行一些質量控制。

相關問題