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

Git子模块提交引用更新:git add路径与git submodule --init选哪个?

正确更新父项目中子模块引用的方法

首先明确两个命令的核心作用:

  • git submodule --init 只是初始化本地子模块配置,让Git识别父项目关联的子模块清单,但它完全不会修改父项目中存储的子模块提交引用,所以不满足你的需求。

针对你子模块使用特定标签(而非跟踪分支)的场景,正确操作步骤如下:

  1. 进入子模块目录,切换到目标标签版本:
    cd submodule/path
    git checkout <你的目标标签名>
    
  2. 返回父项目根目录,此时Git会检测到子模块的提交哈希已变更,执行命令将该变更纳入父项目暂存区:
    git add submodule/path
    
  3. 提交并推送到父项目远程仓库:
    git commit -m "更新子模块到<目标标签名>版本"
    git push
    

完成上述操作后,下次任何人递归克隆父项目(git clone --recursive),或是克隆父项目后执行git submodule update --init --recursive,都会自动拉取到你指定的子模块标签版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:31:32