通过某个HASH克隆存储库是否包含所包含子模块的快照?

时间:2014-11-27 10:13:05

标签: git hash branch commit git-submodules

在使用子模块克隆 github repo时,我需要帮助。
我目前正在使用这个通用命令:

git clone --recursive ${GIT_SOURCE} -b master ${MY_DIR}

它工作正常。

然而,我想知道是否通过HASH克隆我的master分支将包括子模块“snapshot”(即他们自己的提交对应于特定的master提交)或者他们更新的那些如果我做的话一个“在路上”。

是否有可能实现这种结果?

1 个答案:

答案 0 :(得分:0)

子模块仓库的SHA1将始终记录在gitlink entryparent repo index中。

然而, you can configure a submodule to follow a branch of its own remote repo ,这意味着它可以更新为最新的origin / master(如果你想跟随master)。

然后您需要在git clone

之后添加
git submodule update --recursive --remote

这会将子模块内容更新为各自远程回购的最后一次获取的SHA1。


克隆并更新后,a program like git-archive-all可以生成所有仓库(包括其子模块)的tarball快照