我试图撤销自上次提交以来的所有更改。在看完这篇文章后,我尝试了git reset -hard和git reset -hard HEAD。我回复头部现在在18c3773…但当我查看我的本地资源时,所有的文件都还在那里。我错过了什么?


当前回答

对于那些到达这里搜索是否可以撤消git clean -f -d的人,通过它在eclipse中创建的文件被删除,

你也可以在UI中使用“restore from local history”为ref: restore from local history进行同样的操作

其他回答

我只是偶然发现了一个github库,它可以很容易地撤销git中的一些东西。它叫做ugit

只需输入ugit,它就会为您提供一个选项列表,您可以选择这些选项来撤销git命令

下面定义了一个可重用的Git命令别名来删除任何本地更改,然后可以在将来的任何时候使用它来删除任何未提交的更改:

git config --global alias.remove-changes '!git stash push --include-untracked && git stash drop'

使用别名很简单:

git remove-changes

别名使用git stash push—include-untracked将所有更改推入存储(包括未提交的),然后使用git stash drop删除新创建的存储条目。

我要做的是

git add . (adding everything)
git stash 
git stash drop

一行代码:git add。少不更事的藏匿物,少不更事的藏匿物掉落

贾斯廷指出的一个更短的版本

Git stash -u && Git stash drop

添加这个答案是因为之前的答案会永久删除您的更改

安全的方法

Git stash -u

解释:隐藏本地更改,包括未跟踪的更改(-u标志)。该命令保存本地修改,并恢复工作目录以匹配HEAD提交。

想稍后恢复更改吗?

Git隐藏pop

解释:该命令将对当前工作树状态的顶部重新应用更改。

想要永久删除更改?

Git藏匿点

解释:该命令将永久删除所存储的条目

链接到git存储文档

另一个选项是取消未提交的更改:

git restore <file>

丢弃工作目录中的更改。