2014-02-13 96 views
0

我們有一個項目,我們一直在樹幹編碼。後備箱現在有一個已經編碼的大特徵,但我們不希望在第一個版本中出貨。分支與樹幹

但我們也想爲首次發佈清理代碼,因此要消除由於從項目中此功能的所有文件和功能版本1

然而,我們需要的所有文件和功能回來一次,我們準備出貨版本2

爲了以最有效的方式做到這一點,我們應該保持的功能在軀幹和創造版本1的獨立分支。在這種情況下,我們將從分支中刪除與該功能相關的所有文件和功能,然後在發佈後將此分支合併回中繼。

還是應該保持在一個單獨的分支功能相關的文件和功能,然後清理樹幹。發佈後,我們可以將分支合併到主幹中以獲取該功能。

這兩種方法哪一種更好? a)支持清理版本的功能和中繼 b)支持清理功能的功能和分支

說我遵循以下步驟。

  1. 我創建一個分支科-V1。在這種情況下,Branch-V1的主幹和 都具有BigFeature。
  2. 我刪除並修改Branch-V1中的文件以完全消除BigFeature。
  3. 我船V1從科-V1
  4. 我標籤分公司-V1。
  5. 我將Branch-V1合併到主幹中。

當我將Branch-V1與中繼合併時,我是否不會鬆開trunk中的BigFeature?

回答

1

更好的辦法是從大的功能開始之前的主幹分支,然後將更改應用於此版本1支,當你準備好了V1合併到幹線創建v2的樹幹。

聽起來很複雜,但它最小的努力來解決你的問題 - 所以在專用v1分支上工作,釋放該分支,然後合併回主幹,準備好v2。

你,雖然這樣做,你必須做的第一件事就是合併變更到主幹前使你的發佈1代碼的新標籤的那一刻。然後,您必須在主幹上有v2代碼後才能正常工作,從主幹分支到新的「大特徵」分支並完成它,併爲您想添加的任何其他功能創建分支。當它們完成時將它們合併到主幹上,並且當你釋放使'標記'分支形成主幹時。

你可以通過轉儲清理你的倉庫,將2個分支重命名爲v2 trunk card更名爲'v2 branch',v1的分支可以成爲主幹。如果你有信心做到這一點,我會推薦它,因爲它會解決的事情,你可以假裝你會在一個適當的組織已經工作方式一直:)

0

我會做的方式,這是如下: -

  1. 在您開始對此大特性進行更改的版本中,從trunk中創建分支「v-1.0」。如果您難以跟蹤修訂版本號,只需從當前版本開始修改分支,並撤消您在#2中建議的修改。

SVN複製-r REV-NUM /中繼線/branches/v-1.0

  • 繼續前進以 「V-1.0」 和裝運產品從這個分支完成。 對於在1.0中進行的每一個提交,我都會確定在trunk中提交它(解決當時和之後的任何衝突)。一般來說,在大型項目中,後備箱的發展也是並行的。

  • 1.0退出之後,爲發行版創建一個標籤,聲明「v-1.0」,並且如果在此發行版或補丁程序上有任何其他請求要發送,則可以使用此同一分支。

  • SVN複製/branches/v1.0 /tags/v-1.0

    因此,你可以繼續在分支發展,以及在行李箱中。

    +0

    我唯一的疑問是,當我撤銷分支中的更改,然後在主幹中,並不是所有清理都發生在主幹中? – praveen

    +0

    那麼,你不應該撤銷主幹中的變化,因爲你將需要他們的未來版本。僅在分支中進行更改 - 這是創建分支的全部要點。 – Suresh

    相關問題