这可能是一个简单(但令人恼火)的问题。如何删除所有更改删除自上次提交后的更改?我搞了一个补丁,我想回到上一次提交时的情况。
我试过了:
git reset --hard master
和
git checkout master
但是我的文件夹中没有删除我添加/更改的文件(它们仍然列为未跟踪的文件。)
答案 0 :(得分:5)
未经跟踪的文件就是那样,没有跟踪。 Git并不了解或关心他们。 git reset --hard
只会将跟踪的文件恢复为最近(或命名)提交时所处的状态。
您可以使用git clean
从工作树中删除未跟踪的文件和目录。小心你不要意外删除任何艰苦的工作!
"银弹"这会将存储库恢复到最近一次提交时的状态,就好像你刚刚克隆它一样(这甚至会删除所有用户文件"忽略"由存储库!)将是:git reset --hard && git clean -fdx
。 (如果省略x
标志,那么它将仅删除未被忽略的未跟踪文件,例如可能包括构建产品。)
答案 1 :(得分:0)
我希望我能对此发表评论,但请检查一下: How to undo last commit(s) in Git?
答案 2 :(得分:0)
这个晚了一点,但是在2017/09/26看到这个仍然被索引为使用谷歌搜索引擎的第三个是我的回复。我通过这个堆栈交换讨论找到了对我有用的东西:git undo all uncommitted or unsaved changes
基本上如果您还没有使用git add ,那么请使用:
git checkout .
要取消暂存使用git add 暂存的文件,请使用:
git reset