验证子模块初始化[Git]

问题描述 投票:1回答:2

最近我开始在我的项目中使用git子模块。我的一个脚本创建了一个带子模块的repo。我想创建一个函数来检查子模块是否已成功初始化。

有什么好的迹象可以验证?

我想,我们首先要检查主回购中是否有.git目录。然后我应该检查每个子模块,但为了什么?

希望我的问题是可以理解的,如果没有,我很乐意指出更多。

git git-submodules
2个回答
0
投票

我会做的,例如

git submodule foreach statusgit submodule summary

并仔细检查父存储库中的.gitmodules文件。


0
投票

为了更好地解析git子模块摘要,请使用Git 2.21(2019年2月):“git submodule summary”子命令通过在7-hexdigit上机械截断它们来显示缩短的提交对象名称,这已被改进以使“rev-parse --short”缩放缩写的长度与存储库的大小。

commit 0586a43Sven van Haastregt (svenvh)(2019年2月3日)。 (由Junio C Hamano -- gitster --合并于commit 257507a,2019年2月7日)

git-submodule.sh:使用rev-parse缩短子模块SHA-1

到目前为止,git submodule summary总是发出7个字符的SHA-1,对于更大的存储库来说更难以模糊。 请改用git rev-parse --short,这将确定合适的短SHA-1长度。

如果子模块尚未使用“submodule init”进行初始化或未进行克隆,那么git rev-parse将无法使用;作为后备,使用7个十六进制的原始切割方法。

© www.soinside.com 2019 - 2024. All rights reserved.