如何删除自上次git提交以来的更改

时间:2014-04-23 22:00:02

标签: git revert

这可能是一个简单(但令人恼火)的问题。如何删除所有更改删除自上次提交后的更改?我搞了一个补丁,我想回到上一次提交时的情况。

我试过了:

git reset --hard master

git checkout master

但是我的文件夹中没有删除我添加/更改的文件(它们仍然列为未跟踪的文件。)

3 个答案:

答案 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?

在这里: http://git-scm.com/docs/git-reset

答案 2 :(得分:0)

这个晚了一点,但是在2017/09/26看到这个仍然被索引为使用谷歌搜索引擎的第三个是我的回复。我通过这个堆栈交换讨论找到了对我有用的东西:git undo all uncommitted or unsaved changes

基本上如果您还没有使用git add ,那么请使用:

git checkout .

取消暂存使用git add 暂存的文件,请使用:

git reset