将删除git子模块中的分支';s存储库是否使该分支中的提交对超级项目不可用?

将删除git子模块中的分支';s存储库是否使该分支中的提交对超级项目不可用?,git,git-submodules,Git,Git Submodules,我对git还相当陌生,我怀疑答案是否定的,但我想咨询一下这里一些更有经验的git用户 我有一个超级项目,它有一个提交,其中包括对子模块的开发分支的引用。我有点担心,当我将开发分支重新设置到master上并删除它时,引用的子模块commit将消失,从而使引用它的超级项目commit无法使用 虽然我已经回答了这个问题,但它提出了另一个问题。这种行为可以指望吗?我读到git将删除的项目保留在refs中一段时间,然后删除它们。这会导致克隆一开始工作,后来失败吗?因为我没有得到任何答案,我决定尝试一下。

我对git还相当陌生,我怀疑答案是否定的,但我想咨询一下这里一些更有经验的git用户

我有一个超级项目,它有一个提交,其中包括对子模块的开发分支的引用。我有点担心,当我将开发分支重新设置到master上并删除它时,引用的子模块commit将消失,从而使引用它的超级项目commit无法使用



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

因为我没有得到任何答案,我决定尝试一下。我制作了一个带有子模块的项目,并在子项目中使用三种不同的配置对超级项目进行了更改:

  • 具有引用的 提交已重设到主服务器 没有任何变化和分支 删除
  • 具有引用提交的分支被重新设置到主分支上,引用的分支被压缩到另一个提交中
  • 使用引用的提交进行分支 只是被删除了

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

    由于没有得到任何答案,我决定尝试一下。我制作了一个带有子模块的项目,并在子项目中使用三种不同的配置对超级项目进行了更改:

  • 具有引用的 提交已重设到主服务器 没有任何变化和分支 删除
  • 具有引用提交的分支被重新设置到主分支上,引用的分支被压缩到另一个提交中
  • 使用引用的提交进行分支 只是被删除了
  • 在所有这些情况下,使用“git clone--recursive”克隆超级项目成功地添加了引用提交的子模块