2010-07-12 27 views
1

我对git相当陌生,我怀疑这个答案是否定的,但是想要在这里检查一些更有经验的git用户。删除git子模块存储库中的分支会使该分支中的提交对超级项目不可用吗?

我有一个超级项目,它有一个提交,其中包含对子模块的开发分支的引用。我有点担心,当我将这个开发分支重新绑定到master并删除它时,引用的子模块提交将会消失,从而使超级项目提交时引用它不可用。


虽然我已经回答了这个问题,但它提出了另一个问题。这种行为可以依靠吗?我读过git会在refs中将删除的项目保留一段时间,然后删除它们。这可能导致克隆开始工作,然后失败?

回答

1

由于我没有得到任何答案,我决定尝试一下。我做了一个项目,一个子模块,并承诺改变上层项目与子项目三种不同配置:

  1. 分支与引用 提交是重订到主 不作任何改变和删除的分支 。
  2. 具有引用提交的分支被重新绑定到主引用上,引用被压缩到另一个提交中。
  3. 分支与引用提交 被简单地删除。

在所有这些情况下,使用'git clone --recursive'克隆超级项目成功地将子模块添加了引用的提交。