这可能是一个简单但令人烦恼的问题。如何删除自上次提交以来的所有更改?我搞砸了一个补丁,我想回到上次提交时的状态。
我尝试过:
git reset --hard master
并且
git checkout master
但是它并没有清除我添加/修改的文件(它们仍然被列为未跟踪的文件)。
未跟踪的文件是指,Git并不知道或关心它们。git reset --hard
仅会将已跟踪的文件恢复到最近(或命名的)提交状态。
您可以使用 git clean
从工作树中删除未跟踪的文件和目录。请注意不要意外删除任何重要的工作!
如果您需要将存储库还原为最近提交时的状态,就像刚刚克隆一样,这个"万能解药"还会删除存储库“忽略”的所有用户文件!那就是: git reset --hard && git clean -fdx
。(如果省略了x
标志,则仅会删除未跟踪但未被忽略的文件,这可能包括构建产品等。)
git checkout .
要取消使用 git add 暂存的文件,请使用:
git reset