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

如何清除Git子模块中未跟踪、未提交的变更?

清除Git子模块中的未跟踪及已修改内容

你看到的这些是Git子模块的状态变更,每个子模块都是独立的Git仓库,普通的git add/git clean命令无法直接处理,需要针对子模块单独操作:

方法1:逐个处理子模块

针对每个子模块进入目录执行命令,彻底放弃所有变更:

  • 进入子模块目录:cd TheresaPackage
  • 重置所有已修改文件到当前提交状态:git reset --hard
  • 清除所有未跟踪的文件和目录:git clean -fd
  • 返回主仓库:cd ..
  • 重复上述步骤,依次处理data-challenges、dotfiles、practice三个子模块

处理完成后,回到主仓库执行git status,就能看到子模块的状态恢复正常。

方法2:批量处理所有子模块

不想逐个操作的话,用Git子模块批量命令一次性搞定:

git submodule foreach --recursive git reset --hard
git submodule foreach --recursive git clean -fd

这条命令会自动遍历所有子模块,依次执行重置和清除操作。

注意事项

  • git reset --hard会丢弃子模块中所有未提交的修改,执行前确认不需要保留这些内容
  • git clean -fd里的-f是强制删除,-d是删除未跟踪的目录,确保彻底清理干净

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 09:40:06