2017-09-26 37 views
1

這裏正在發生的變化是我的問題 -Git倉庫爲不同的產品,其中一個可能要原

我們正在研究一個項目,該項目基本上是一個REST API,擁有一整套的DTO的, DAO和資源,這些將用於使產品發揮作用。

但是,我們希望將REST api,auth,jwt解析等全部放在一個我們可以複製的產品和未來產品的倉庫中 - 我們還會爲其他產品只想快速查看某些內容的開發人員。

現在,我們的問題在於,如果我們構建REST api,然後將其分配給主項目,那麼我們希望在基本REST API中更改的任何內容都不一定會進入產品...

我們如何做到這一點,以便我們可以輕鬆地從基本REST API回購中進行更改,而不會混淆一大堆呢?

基本上,我們想要的是讓產品API擁有一個可以指向DTO,DAO等的pom,然後能夠跟蹤來自基礎的更改Rest api,我們將其構建爲單獨的社區驅動實體。

謝謝。

回答

0

您可以添加一個單獨的回購作爲子模塊或子樹。 Google圍繞這些方法。兩者都不完全乾淨,但應該做你想做的。另一種選擇是使用包。請參閱下面的更多信息

另一種選擇可能是現在在您的倉庫中創建基礎API,直到它變穩定,然後將其轉換爲其他方法之一。如果你這樣做,包選項可能更可行。您可以將基礎API構建爲單獨的項目/ DLL /等。所以它與代碼的其餘部分保持分離,並且將來很容易發生。


子模塊

子模塊基本上都是建立在回購協議的文件夾,它引用另一個單獨的回購協議的方式。因此,您可以爲基礎API開源回購,並將其作爲主回購庫中的子模塊。如果你需要在子模塊本身進行更新,這確實會變得有些混亂 - 團隊中的每個人都需要遵循一些事情來保持它的清潔(一些Google搜索會提出這些問題)。

子樹

我還沒有真正處理子樹,只是讀了一些關於他們,但類似的想法,只是從子模塊管理它,它不同(這個方法沒有任何直接的Git支持,如果我理解正確,但有一些優點)。

另一種選擇,如果你有基本的API固體版本的發佈,將是從它創建的軟件包,使用的NuGet等,並安裝它像在主回購任何其他程序包。

相關問題