Similar questions對此有already been asked,雖然他們不完全是我想要做的。使用Git插件開發
起初我以爲我需要一個git子模塊,然後建立一個超級項目,然後一個子樹合併,但我不確定這些是否真的合適。
我有一個project(伊娃),我正在寫一些extensions for it是可選。所以如果你想從Github上下載一個副本Eva,它不會包含可選的插件,但你可以單獨獲取它們並使用它們。
可選的擴展名與Eva駐留在相同的目錄結構中。簡單的那麼遠,
Eva
|
--- system/
--- events/
|
--- core_events
--- tests/
|
--- core_tests
Extension A
|
--- events/
|
--- [extension A]
--- tests/
|
--- [extension A tests]
我想測試增加了那些擴展今晚,現在我有他們在我的本地伊娃的git回購之外的單獨的目錄。爲了運行這些測試,我真的需要這些擴展與Eva處於同一個目錄中,這些事件依賴於核心系統來運行。
Eva
|
--- system/
--- events/
|
--- core_events
--- [extension A]
--- [extension B]
--- tests/
|
--- core_tests
--- [extension A tests]
--- [extension B tests]
我可以在伊娃項目文件複製到擴展回購目錄,但如果我修改伊娃的源代碼,然後我要保持整個複製這些變化。
我應該繼續這種笨拙的設置,還是有更優雅的方式git可以容納這個?
也許我的要求是與其他問題相反的。我的擴展是Eva的一個子項目,我需要偶爾從Eva回購中獲取更新。
如果我將擴展repo添加爲子模塊,當有人克隆Eva時,他們也會獲得所有可選插件?我不想那樣。
不確定子樹合併是否適合,我將永遠不必將擴展項目拉入核心Eva項目。
也許這個簡單的答案是讓每組擴展都在自己的分支上?在每個分支`.gitignore`文件中都有相應的條目,它們可以共存在同一個目錄中? – 2011-02-10 00:48:03