递归删除所有本地更改

Remove all local changes recursively

我想删除 git 存储库中所有未提交的更改。 git checkout -f 似乎可以解决顶级回购问题,但我该如何清理子模块中的内容?

感谢 Ryan 的评论,我最终得到了这个解决方案:

git reset --hard
git clean -fd
git submodule update --init
git submodule foreach git clean -fd
git submodule foreach git reset --hard

似乎可以处理添加、删除和修改的文件、文件夹和子模块。使用两个命令感觉有点糟糕,但它们本身似乎并不能涵盖所有情况。