2012-04-26 84 views
2

我有两个裸回购superasuper - clone_super的一个克隆和a - clone_a的一个克隆。我在clone_super中添加了回购a作为子模块。Git子模块修改后,git拉,我应该推?

如果我现在做一些变化clone_a,推动那些和做~/clone_super/a一个git pull origin master,它会在一个modify status~/clone_super/a,在~/clone_supergit status后显示渲染。

如果我做git submodule update~/clone_super/a将恢复到先前的承诺。那么,我是否打算每次更新它们时都需要提交并推送子模块以存在它们存在的回收站?

回答

4

简短答案是肯定的,你必须在更新之后提交并推送一个子模块。

,如果它不是一个子模块,每次你改变了一个文件时,你必须承诺并推动它的目录将如何工作的思考。子模块完全相同,除了超级不直接跟踪文件更改。相反,子模块内的存储库跟踪文件的更改和超级库通过跟踪跟踪这些变化在子模块提交

关于这件事的好处是它允许以不同粒度进行跟踪。你可以做几十个辅助模块修订不改变超级库,然后作出一个承诺超级反映在辅助模块中的变化。成本是提交两次的要求。

+0

OK了历史,我明白了。感谢(对两者)的快速反应。 – PistolPete 2012-04-26 13:54:22

1

是的,它的目的,它可以让你保持在回购a的版本使用回购的每个版本super