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

如何配置TortoiseGit拉取父项目时自动更新所有子模块?

关于TortoiseGit一键拉取父项目并更新子模块的解决方案

核心结论

TortoiseGit没有直接内置拉取父项目后自动更新子模块的功能,也没有专门针对拉取操作的内置钩子配置项。不过可以通过以下两种贴合TortoiseGit使用习惯的方式实现需求:

方式一:自定义TortoiseGit右键命令

把你现有的脚本逻辑封装成TortoiseGit的自定义右键命令,实现一键执行:

  1. 右键仓库文件夹,打开「TortoiseGit」→「Settings」
  2. 切换到「Custom Menu」选项卡,点击「Add」新增命令
  3. 在配置窗口中填写:
    • 「Menu Text」:自定义显示名称,比如「Pull父项目+更新子模块」
    • 「Command」:选择「Git command」,在「Parameters」中输入:
      submodule foreach git checkout master && git submodule foreach git pull && git pull origin
      
    • 勾选「Show in context menu」,让命令出现在右键菜单
  4. 保存配置后,右键仓库即可一键触发整套操作

方式二:通过Git配置增强拉取行为

利用Git的全局/仓库配置,让git pull默认递归更新子模块:

  • 在TortoiseGit的「Git Bash」中执行命令:
    git config --global submodule.recurse true
    
    这个配置会让git pull自动拉取所有子模块的最新代码,但不会自动切换子模块到master分支,如果需要确保子模块处于master分支,仍需配合自定义命令里的git submodule foreach git checkout master步骤。

补充说明

你当前使用的脚本逻辑完全可行,通过自定义命令将其封装成TortoiseGit的内置菜单选项,是最贴合你需求的实现方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:40:53