小编典典

git reset --hard HEAD 留下未跟踪的文件

all

据我了解,当我运行时git reset --hard HEAD,它应该重置为您所拉取的原始版本。不幸的是,它会留下文件,因为它git status显示了大量未跟踪的文件。

您如何告诉 git “只需将其恢复到最后一次拉动中的内容,仅此而已,仅此而已”?


阅读 208

收藏
2022-03-03

共1个答案

小编典典

您必须使用git clean -f -d它来删除工作副本中未跟踪的文件和目录。您还可以添加-x删除被忽略的文件,在这个优秀的 SO
答案
中有更多信息。

如果您需要将带有子模块的整个存储库重置为 master 上的状态,请运行以下脚本:

git fetch origin master
git checkout --force -B master origin/master
git reset --hard
git clean -fdx
git submodule update --init --recursive --force
git submodule foreach git fetch
git submodule foreach git checkout --force -B master origin/master
git submodule foreach git reset --hard
git submodule foreach git clean -fdx
2022-03-03