1

我对 git 很陌生,我怀疑这个答案是否定的,但想在这里与一些更有经验的 git 用户核实一下。

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


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

4

1 回答 1

1

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

  1. 具有引用提交的分支在没有任何更改的情况下重新基于 master 并删除了该分支。
  2. 具有引用提交的分支被重新定位到 master 上,而引用的提交被压缩到另一个提交中。
  3. 带有引用提交的分支被简单地删除了。

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

于 2010-07-16T02:08:13.027 回答