如何撤消上次提交后对目录所做的所有更改,包括删除添加的文件、重置修改的文件和添加回已删除的文件?


首先,重置所有更改

这将撤销您对跟踪文件所做的任何更改,并恢复已删除的文件:

git reset HEAD --hard

其次,删除新文件

这将删除自上次提交以来添加的所有新文件:

git clean -fd

由于.gitignore而未被跟踪的文件将被保存;它们不会被移除

警告:使用-x代替-fd会删除被忽略的文件。你可能不想这么做。


如何撤消上次提交后对目录所做的所有更改,包括删除添加的文件、重置修改的文件和添加回已删除的文件?

您可以通过以下命令撤消对跟踪文件的更改: git重置头——硬 您可以删除未跟踪的文件: Git clean -f 您可以删除未跟踪的文件和目录: Git clean -fd 但是您不能撤销对未跟踪文件的更改。 您可以删除被忽略和未跟踪的文件和目录 Git clean -fdx 但是不能撤消对被忽略文件的更改。

您也可以设置清洁。requireForce为false:

git config --global --add clean.requireForce false

在使用git clean时避免使用-f(——force)。


在这种情况下有两个命令可以使用,

根>git重置-硬头~1

根>git push -f

更多git命令请参考本页