2013-10-14 166 views
2

在我們的開發環境中,我們有一個自定義框架。雖然我們所有的項目都是從基地開始的,但是通過使用插件和主題,項目基地擴展了項目。具有相同GIT主文件的多個項目

的文件夾結構是:

  • 芯(包含共享代碼的所有項目之間)
  • 插件(的每個子文件夾是一個插件,一些存在於所有的項目,有些是項目特定的)
  • 主題(包含項目特定只有代碼)

目前我們克隆我們的主回購刪除該文件夾。git的,創建一個新的回購,去了解我們的變化。 如果某個功能或bug在某個項目或主要倉庫中得到解決,我們目前手動合併具有各種差異工具(主要是winmerge)的更改,以確保項目特定的主題或插件無法接入主倉庫,並且所有項目擁有最新的核心和共享插件。

我知道必須有更好的方法來使用子模塊嗎? 核心作爲子模塊,每個插件作爲子模塊,每個主題作爲子模塊? 然後每個項目都是自己的回購?

或者是結構不是最適合此設置?

回答

0

在名爲Project一個git回購插件名爲PLUGIN子模塊的使用允許該回購協議指向特定版本的插件。因此,如果該插件在其自己的回購演變,PROJET的開發商將不得不在項目回購插件目錄,併發出

git pull 

得到它。在開發穩定版本的插件時,它可能是有用的。

此外,該插件的源歷史記錄僅在其自己的回購庫中進行管理。這是一個更容易理解的開發計劃。

使用子模塊也是有用的,當你有包含使用二進制/數據集的repo時,具有重要的歷史管理。所以它不會減慢你的其他回購。

1

爲您的核心項目和您的繼承項目使用不同的存儲庫。 您所有的繼承項目都應該包含您的骨架項目作爲依賴項,maven允許您處理該項目。

每一個時間更新您的結構,你剛纔更新每個項目的依賴關係,沒有更多的棘手合併

相關問題