我想标记我的项目的所有子模块。我尝试这样做:
git submodule foreach git tag tagName
...但它似乎只是返回而没有错误,什么也没做。
编辑:这是我尝试的结果:
有人可以告诉我如何正确标记所有子模块吗?
注意:这是一个非常相似的问题这个帖子 https://stackoverflow.com/questions/33117090/git-how-to-create-a-tag-that-also-include-submodules,但该问题的答案建议依赖超级项目中的子模块引用。然而,我实际上希望子模块的存储库中有一个标签。
首先,确保您的子模块文件夹包含以下内容:
git submodule update --init --recursive
然后,只需执行以下操作:
git submodule foreach git tag -l
您应该看到,对于每个子模块,tagName
.
这意味着您之前的命令确实标记了这些子模块。
我建议做一个带注释的标签 https://git-scm.com/book/en/v2/Git-Basics-Tagging#_annotated_tags虽然,不是轻量级的 https://git-scm.com/book/en/v2/Git-Basics-Tagging#_lightweight_tags:
git submodule foreach git tag -m "tagName" tagName
这意味着您可以从每个子模块推送该标签。
如果您只是在父存储库级别进行标记,则会包含子模块 gitlink,即它们的 SHA1。对于你的情况来说这可能就足够了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)