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

如何执行git add子模块路径并将暂存区设为特定子模块哈希?

如何指定特定哈希值暂存Git子模块?

如果想直接让暂存区里的子模块指向特定哈希值,不用先在子模块目录检出该版本,直接用git update-index操作索引即可,这是最直接的方式:

  • 执行命令:

    git update-index --cacheinfo 160000 <目标哈希值> path/to/submodule
    

    其中160000是Git中子模块条目固定的模式位,必须指定这个值;<目标哈希值>替换成你需要的子模块提交哈希,path/to/submodule是子模块在父仓库里的相对路径。

  • 验证结果:
    执行完后可以用下面的命令确认暂存区里的子模块版本是否正确:

    git diff --cached path/to/submodule
    

    输出会显示子模块从旧哈希变更为你指定的新哈希。

  • 撤销操作:
    如果需要取消这次暂存,执行:

    git reset HEAD path/to/submodule
    

这种方法特别适合你提到的场景——拆分大量变更到多个独立PR时,不用频繁切换子模块的分支或检出特定版本,直接在父仓库里指定子模块的目标版本暂存,就能分批次提交不同的子模块版本变更。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 09:25:32