0

背景:源代碼結構

3-5程序員TFS工作。我們支持傳統應用以及構建新應用。我正在實施持續交付的元素,我希望有一個良好的結構開始。目前,應用程序的相互依賴性很小,但將來會有一些共享組件。

除了需要長特徵分支的非常罕見的情況外,我計劃實施「單幹」分支策略(換句話說,不支持分支策略) - 我將努力確保永不發生。

問:

鑑於此,其源代碼結構更好,爲什麼?對於選擇其中一個(工作空間等)是否有任何實質性影響?

單主枝

$/MAIN/src/ApplicationA/ApplicationA.sln 
$/MAIN/src/ApplicationA/Project1.csproj 
$/MAIN/src/ApplicationA/Project2.csproj 
$/MAIN/src/ApplicationB/... 
$/MAIN/src/SharedModule/... 

主枝每個應用程序

$/ApplicationA/MAIN/src/ApplicationA.sln 
$/ApplicationA/MAIN/src/Project1.csproj 
$/ApplicationA/MAIN/src/Project2.csproj 
$/ApplicationB/MAIN/src/... 
$/SharedModule/MAIN/src/... 

回答

2

根據我的經驗,我發現它的最好使用單獨的分支的事情,有獨立的開發週期。

如果您打算將它們始終作爲一個整體發佈,並且它們是作爲單一產品開發的 - 單一主分支更合適。

如果每個應用程序可能在不同的時刻發佈,那麼每個應用程序的主分支似乎更合適。

2

我喜歡在單個主分支中開發所有代碼。然後使用配置設置從本質上禁用生產模塊,並啓用它進行測試,直到準備好發佈。額外的好處是模塊(dll)已經爲發佈版本打包,因爲您可以提前發佈並經常發佈。