2014-09-02 41 views
0

我的項目分爲兩個階段。第一階段即將完成。雖然我們已經有了一些功能,但它們可以被看作邏輯分離的菜單項目,而這些菜單項目將在第二階段交付。java項目的兩個獨立編譯版本

我建議維護兩個版本的代碼庫(創建兩個分支phase1Branch和phase2Branch)。這是因爲我們需要兩個編譯的代碼(因此,部署的工件是一個jar文件,我使用jenkins來構建生成部署的jar文件的項目)。代碼庫的一個版本用於階段1,另一個用於階段2。因此,可以在需要時輕鬆地從階段1切換到階段2,例如向客戶端演示演示時。

但是,我仍然認爲這可以在不維護兩個代碼庫的情況下完成。

什麼是以最小麻煩服務於客觀目標的最佳實踐?

+0

沒有版本控制,你可能想在本地創建2個副本? – sanbhat 2014-09-02 09:21:03

+0

@sanbhat我們有版本控制,我的問題不是如何在本地創建2個副本。我想要的是避免創建代碼庫副本。 – 2014-09-02 09:24:03

+0

希望擁有兩個獨立的代碼庫必須有一個很好的理由:太多的干擾,衝突和緩慢交付。如果您可以簡化這一點,例如將新頁面與階段1頁面分開,也許使用某些開關,則可能不需要兩個代碼庫。分支_entire_代碼庫成本很高。仍然應該不斷合併(=不生產,不集中)。因此,最好使用某些開關,與舊功能並行引入新功能。否則分支當然是一個有效的措施。 – 2014-09-02 09:41:53

回答

0

您可以創建tag,即中繼線分支本身的較早v1代碼的代碼行上的時間戳。一旦創建了標籤,您就可以繼續在v2的trunk中進行更改。 使用標籤,無論何時需要時,您都可以隨時查看您所做的更改。