我有一个GitHub仓库,其中包含另一个GitHub仓库作为子模块。我使用--recursive选项克隆父repo。在子仓库上执行git状态表明它与Head分离;它与某个特定的先前提交“绑定”。然后我检查子仓库的主分支,从而重新连接到头部。
这是一个问题:是否可以修改这样的东西,在完成克隆之后,子模块已经附加到HEAD(不需要结账步骤)?
答案 0 :(得分:1)
不,这是子模块的实现方法。在父repo中,您定义了您所依赖的子模块的特定提交(通过SHA-1)。因此,如果您克隆父repo,您将获得您定义的并且与之兼容的确切提交。每当您希望父级依赖于子模块的较新提交时,您必须手动告知它并为此创建提交。这也是为什么子模块可能没问题的原因如果你依赖于你不需要经常更新的别人存储库,但是如果你自己同时开发这两个项目,我认为它几乎没用。