2014-07-18 264 views
4

假設我有兩個git回購。 RepoA是應該在其他項目中共享的常見回購。 ReopB是一些需要訪問RepoA內容的項目。子目錄中的Git子模塊?

RepoA

https://.../RepoA 
    /Something 
    /Source 
     /Project1 
     /Project2 
     ... 
     /ProjectN 

RepoB

https://.../RepoB 
    /SomethingElse 
    /Source 
     /MainProject 
     /RepoA 
      /Project1 #Submodule of RepoA at /Source/Project1 

使用上面的例子,你可以看到什麼,我試圖做的是配置一個子模塊,是不是RepoA的根,但是回購中的具體路徑。在這種情況下,我想將RepoB/Source/RepoA/Project1映射到RepoA/Source/Project1。

我已經做了一些研究,它似乎並不直截了當,也許不可能做到這一點。我希望我錯了!

我們正在從SVN轉移到GIT,而在SVN中,我們使用Externals輕鬆完成此任務。

注意

我也開到重組RepoA。但我想保留主要結構。例如,如果我能以某種方式在RepoA/Source /內部分支每個Project,但我不希望這會變得複雜。

+0

[子目錄中合併git存儲庫]的可能重複(http://stackoverflow.com/questions/6426247/merge-git-repository-in-subdirectory) – oyvind

+0

看看http://stackoverflow.com/questions/6426247/merge-git-repository-in-subdirectory – oyvind

回答

3

您是否考慮拆分RepoA中的'Projects'以便它們是單獨的回購?您可以使用git subtree split來完成此操作。然後,將Project1回購作爲子模塊包含在RepoA和RepoB中。

+0

是的,我認爲這是我必須要做的。我希望不必這樣做。將調查它 - 謝謝。 –