如何丢弃 git 个子模块中的修改内容?

How do I discard modified content in git submodules?

我最近 运行 一个 git 子模块 initupdate 在我的暂存 b运行ch 中提交。这导致 git 从子模块下载了一堆更改,我不想将这些更改放入暂存阶段并希望完全丢弃。

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
        modified:   path-to/submodule1 (modified content)
        modified:   path-to/submodule2 (new commits,modified content)
    …


no changes added to commit (use "git add" and/or "git commit -a")

我想放弃所有这些更改,并且不向我当前的 b运行ch 添加任何内容。我该怎么做?

由于每个子模块都是自己的 Git 存储库,您可以单独重置每个子模块。

  1. 摆脱任何未提交的本地更改:进入每个子模块,然后 运行 git reset --hard

  2. 确保每个子模块都在顶级 Git repo 想要的提交上,通过 运行ning git submodule update 在顶级。