請注意,我是Git的新手。Git:從現有的存儲庫中創建Git子模塊並將父級更改反映到子存儲庫
我有兩個回購協議:
主要倉庫是Libgdx回購和我的所有作品進入這個倉庫,主要在gdx-sqlite project。因爲我想GDX-sqlite的項目顯示爲一個獨立的存儲設備,我所做的就是:
- 創建GitHub上(GDX-sqlite的REPO)的新回購
- 創建一個本地回購(嵌套在本地libgdx內回購)我的機器
- 上推動了當地的嵌套式回購的所有代碼遠程GDX-sqlite的REPO
這導致了一切去錯了,我認爲嵌套庫是主要的罪魁禍首。後來我刪除了本地嵌套的存儲庫,並恢復到之前的提交。我發現這種問題的解決方案是Git Submodules,但是我完全喪失了我想要實現的內容,如下所示。
現在我怎麼在下面的光來實現這一點:
- 我想創建位於「GDX-sqlite的回購」一個新的回購,應始終反映更改我做出位於「https://github.com/mrafayaleem/libgdx/tree/master/extensions/gdx-sqlite」
- 任何項目誰發送拉請求「GDX-sqlite的回購」應該能夠把所有的依賴關係(也就是完整的libgdx REPO),這樣他就可以在有效的立即延長。
這怎麼能成爲possbile?
子模塊是不是他想要的所有條款的內容。他希望子模塊的變化也反映在超級模塊中。只有這樣,如果他同時在兩個回購中進行更改。一個用於更改子模塊,另一個用於更新「超級」項目中的修訂標記。它不像svn中的外部工作。還有其他的解決方案,像[git subtree](https://github.com/apenwarr/git-subtree),但是這些還有其他的缺點。 – Larusso 2013-05-16 20:25:43
這裏引用:[git submodules doku](http://git-scm.com/book/en/Git-Tools-Submodules)「這是子模塊的一個重要點:你將它們記錄爲確切的提交,你不能在master或其他符號引用處記錄子模塊。「 – Larusso 2013-05-16 20:29:46