#13923·cli

`gh repo sync` 不会更新本地仓库中的子模块

作者: muzimuzhi创建于 2026年7月20日更新于 2026年9月16日
标签enhancementgh-repostale

描述错误

当当地repo被用作目的地repo时,"gh repo synd"不更新子模块. `--被责罚的子模块'

其他 " gh " 子命令中的相同问题:

受影响的版本

gh 2.9.6.0 (2026-07-02) (中文(简体) ). https://GitHub.com/cli/cli/releases/tag/v2.96.0 (中文(简体) ).

  • 复制行为的步骤

https://GitHub.com/Witiko/expltools为例. 它设置了两个子模块.

# 准备
(原始内容存档于2018-09-21) (中文(简体) ). $gt Clone -- revision=a13cc24554adf90e3a6f4a82a8b8528cadb2f412 -- [email protected]:Witiko/expltools.git
CD 扩展工具
$git 切换 -c 主
$ git 子模块更新 -- init -- recursive -- deep=1

$gh repo 同步 -- -- 分支主
将“ 主” 分支从“ Witiko/ 开发工具” 同步到本地寄存器
$ git 状态
在分支主干线上
未实施的变化 :
(使用“ git 添加 < file> ... )以更新将要执行的内容)
(使用“ git revolution < file> ... ” 来丢弃工作目录中的更改)
修改:第三方/迟交(新犯)

没有添加任何更改来执行(使用“ git 添加” 和/或“ git 承诺 -a ”)

预期行为与实际行为

预期:`gh repo syndise' 更新子模块,并留下一棵干净的工作树,要么自动地,要么通过一些额外的(Git)旗帜.

实际: 如果同步输入包含子模块更新, “ gh repo synd” 将子模块Directori( es) 弄脏, 参见上述“ git status” 输出 .