You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取子模块中所有标签对应的Commit ID?

Git子模块标签与对应Commit ID的获取方法

你可以直接修改现有命令,添加格式参数来同时输出标签和对应的Commit ID,执行以下命令即可:

git submodule foreach 'git tag --sort=-taggerdate -l --format="%(refname:short) %(objectname)"'

命令细节:

  • --format="%(refname:short) %(objectname)":自定义输出格式,%(refname:short)输出简化的标签名,%(objectname)输出标签关联的完整Commit ID

如果想要更易读的输出(比如带上子模块名称),可以用这个增强版命令:

git submodule foreach 'echo "【子模块】$name"; git tag --sort=-taggerdate -l --format="  标签: %(refname:short) | Commit ID: %(objectname)"'

关于你补充的内容:

  • 子模块Commit ID:指的是主仓库中记录的、该子模块当前固定的提交哈希值
  • 标签Commit ID:是标签直接指向的提交哈希值,当两者匹配时,说明该子模块当前正处于这个标签对应的版本状态

内容的提问来源于stack exchange,提问作者tadm123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 19:05:25