将Git子模块初始化为HEAD而不是特定的提交

时间:2019-06-27 11:14:19

标签: git git-submodules

在我的项目中,我有一个git子模块来跟踪仓库B。 当将回购复制到新计算机上时,git sobmodule似乎跟踪特定的提交,因此在回购B中完成新提交时,我必须手动对主回购进行拉动,然后再提交,否则,回购的新克隆最终将具有子版本为回购B的旧提交,这是正常行为吗?我可以使sobmodule跟踪HEAD而不是特定的提交吗?

1 个答案:

答案 0 :(得分:1)

这是正常现象和预期行为。基本上,您希望在克隆后始终在工作目录中保持可预测状态。如果存储库B已更新,则必须手动获取并合并这些更新,然后对其进行测试以使其与主存储库A一起正常工作,然后可以在存储库A上提交信息“子模块现已提交XXX”。

如果您没有注意到对存储库B进行的更改,则可以避免不必要的行为。如果子模块始终指向“最新提交”,则不能确定项目A始终与子模块B保持同步。