2012-03-13 58 views
2

我的問題不是關於可能性。我知道這是可能的,並在同一個網站上閱讀,它被稱爲子模塊。在其他回購中使用多個git回購是一個好主意嗎?

在一個項目中,我意識到我們已經開發了幾個可重用的組件,其他人可以使用,因此我們在gihub上創建了多個項目並將適當的文件放入其中。然而在主項目中,我們有一個單一的git存儲庫。

在這段時間裏,我們意識到github上的一些項目被別人分解了,並且也得到了改進。如果我們在我們的主項目中創建了多個回購站,我們可以輕鬆地引入更改,而不是手動複製文件。

由於我沒有經驗使用git管理大型和多個項目,我想知道標準做法是否值得鼓勵在單個大型存儲庫中擁有多個git存儲庫。

是否有任何折衷?我們需要考慮的重點有哪些?

回答

1

正如您注意到的那樣,這就是submodules的概念進入的地方。

爲了舉例說明這種情況,我將使用Kohana Framework,這是一個用於web應用程序的PHP全棧框架。

Kohana的結構是這樣的:

  • 系統(Kohana的核心)
  • 模塊(Kohana的官方模塊)

你可以看到,在系統目錄實際上對應於一個單一的存儲庫, core,模塊目錄有多個模塊,每個模塊都有自己的存儲庫,以表示特定的可重用特性,例如,authdatabaseorm

Kohana是一個很大的項目,而且這種方法對於保持他們的哲學非常好。