我們有兩個獨立的rails_app,foo/
和bar/
(單獨有很好的理由)。他們都依賴於common/
文件夾中的某些型號等,目前與foo
和bar
平行。在兩個或更多rails應用程序之間共享代碼... git子模塊的替代品?
我們目前的svn設置使用svn:externals
來分享common/
。這個週末我們想試試git。經過大量研究,似乎解決這個問題的「猶太教」方式是使用git submodule
。我們得到了分離foo
,bar
,common
到單獨的存儲庫,但後來工作後,實現所有strings attached:
- 提交父之前,請務必提交的子模塊。
- 在推送父項之前,始終推送子模塊。
- 確保子模塊的HEAD在提交之前指向分支。 (如果你是bash用戶,我建議使用git-completion將當前分支名稱放入提示符中。)
- 切換分支或提交更改後始終運行'git submodule update'。
所有這些陷阱比add
,commit
,push
事情進一步複雜化。我們正在尋找更簡單的方式在git中分享common
。 This guy似乎已經成功使用git subtree
擴展名,但是偏離標準gitand仍然看起來不那麼簡單。
鑑於我們的項目結構,這是我們能做的最好的嗎?我對軌道插件/引擎不夠了解,但這似乎是一種可能的共享庫的方式。
在此先感謝。