我們最近決定從TFVC轉移到Git,我試圖找到設計我們新的Git體系結構的最佳方式。Git子樹與Monorepo
我們的代碼是由獨立的,但是緊密耦合模塊,讓我們來看看以下項目:
CommonLib1
CommonLib2
ApplicationA
(使用CommonLib1
)ApplicationB
(使用CommonLib1
&CommonLib2
)
雖然CommonLib1
/CommonLib2
是完全獨立的,幾乎是ApplicationA
/ApplicationB
每一個新的功能將需要修改CommonLib1
/CommonLib2
。
此外,添加新功能時,我們希望創建一個跨越所有項目的單個分支。
據我瞭解,我留下了2個主要選項:
爲每個項目創建一個回購協議,並在
ApplicationA
/ApplicationB
添加CommonLib1
/CommonLib2
爲子樹。爲所有項目創建一個Monorepo。
對於我的情況,最好的Git練習是什麼?
谷歌已經與巨人monorepo成功。我會建議從那裏開始嘗試打破緊密結合的項目。 – jready
我確定它會工作,但我正在尋找最佳實踐..我更願意以正確的方式從頭開始 – Michael
現在「monorepo」是真實的東西嗎?我在Google上看到了很多點擊(https://www.google.com/#q=monorepo),但他們都只是在談論「將一堆垃圾轉儲到一個大型倉庫中」,這不是一個真正的*事情*。該標籤現在存在於StackOverflow中,但對於其特定於標籤的信息幾乎沒有任何意義:http://stackoverflow.com/tags/monorepo/info – torek