2015-11-03 33 views
0

我有2个单独的git仓库,例如,像这样:GIT中 - 弄乱了与子模块

1)所有MyApplication(V1)

2)在MyLibrary(V1)

我加“在MyLibrary '作为'MyApplication'的子模块,然后对子模块的源文件中的'MyLibrary'进行一些更改,然后我承诺并推送更改。

现在发生什么事是,“在MyLibrary”的最新变化是一个犯“MyApplication的”,它不再要回orginial“在MyLibrary”

所以我目前的资料库是这样的:

1)所有MyApplication(V1)

1.1) - >子模块在MyLibrary(V2)

2)在MyLibrary(V1)

随着Subv ersion,当你提交任何外部的时候,这个改变总是回到原来的版本库

git中子模块的概念真的让我困惑不已!

回答

0

查看Git中的子模块作为单独的存储库。你需要做的就是把它们当作独立的存储库来处理,这意味着如果你对子模块进行修改(在这种情况下是MyLibrary),你还需要提交并将这个子模块分别推送到远程。

当涉及子模块内的更改时,它们几乎相互独立。 “MyLibrary”只说:“嘿,我有这个子模块的依赖关系,并且在提取时也保持这个更新。”

+0

子模块文件夹不包含.git文件夹而是.git文件,这是正常吗?因为这是我得到的。 – grayfox

+0

从来没有想过这一点,但看着我的设置我有.git文件,而不是子模块中的.git文件夹。这似乎是正确的。尽管如此,我无法给你一个正确的答案。 – musse1