2013-10-31 133 views
2

我有一个父(git)项目与子模块(git)。每个分支git子模块更新

然而,当我在父更新子模块/开发分支,父/ master分支也包含更新的子模块文件...

所以,当我想用​​更新的子模块代码来测试我的父代码,更新子模块代码已经出现在主...可能会造成什么灾难。

我想要的是,如果我更新父/开发分支中的子模块并切换到父/主,我仍然可以在更新之前看到子模块文件。只有在将开发合并到master后,更新的子模块文件才会出现在master中。

如果我看这篇文章:https://stackoverflow.com/a/17927655/2940885,它看起来像结论是子模块的文件未跟踪,因此出现在我签出的任何分支。

任何线索?

+0

已经3年了。在此期间你有没有找到更好的解决方案?我遇到了这个问题,这让我重新考虑使用子模块。 – KobeJohn

回答

3

http://git-scm.com/book/en/Git-Tools-Submodules

开关与子模块的分支也可能会非常棘手。如果你创建一个新的分支,在那里添加一个子模块,然后切换回没有子模块的分支,你仍然有子模块目录作为未被跟踪的目录: ... 你必须移动它或删除它,在这种情况下,当您切换回来时,您必须再次克隆它 - 并且您可能会丢失未提升的本地更改或分支。

=>所以,假设这只是它的方式..