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

Git子模块卡在「变更」状态,VS Code源代码管理无法暂存/移除

VS Code 子模块变更无法暂存/移除的解决办法
  • 刷新源代码管理缓存
    打开命令面板(Ctrl+Shift+P / Cmd+Shift+P),执行 Git: Refresh Source Control 命令,强制刷新VS Code的Git状态缓存,很多时候能直接解决显示异常的问题。

  • 用Git命令行手动处理

    1. 终端进入根项目目录,执行 git submodule status,确认子模块的实际状态,看是不是真有未处理的变更
    2. 如果子模块内有未提交的改动,进入子模块目录:
      • 要提交的话:cd 子模块目录 && git add . && git commit -m "提交子模块变更"
      • 要丢弃的话:cd 子模块目录 && git checkout .
    3. 回到根项目,执行 git add 子模块目录 手动暂存子模块的引用变更
    4. 如果子模块被误识别成普通文件,执行 git rm --cached 子模块目录,之后重新添加子模块:git submodule add <原仓库地址> 子模块目录
  • 重置VS Code的Git相关配置

    1. 关掉VS Code,删除项目根目录下的 .git/index.lock 文件(如果存在),避免Git进程被锁定
    2. 重新打开VS Code,进入设置(Ctrl+, / Cmd+,),搜索 git.enableSmartCommit 并勾选,再试一次操作
    3. 要是还不行,就禁用VS Code的Git插件,过几秒再重新启用
  • 检查子模块的Git关联是否损坏
    进入子模块目录,看有没有 .git 文件(注意是文件不是文件夹),如果是文件,说明关联坏了:

    • 删除这个 .git 文件,回到根项目执行 git submodule update --init --recursive,重新初始化子模块

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:55:20