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


当前回答

还有git stash——它可以“存储”你的本地更改,可以在以后重新应用,也可以在不再需要时删除

更多关于存储的信息

其他回答

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

安全的方法

Git stash -u

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

想稍后恢复更改吗?

Git隐藏pop

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

想要永久删除更改?

Git藏匿点

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

链接到git存储文档

我使用源代码树....你可以通过2个简单的步骤恢复所有未提交的更改:

1)只需要重置工作空间文件状态

2)选择所有未升级文件(命令+a),右键单击并选择删除

就是这么简单:D

还有git stash——它可以“存储”你的本地更改,可以在以后重新应用,也可以在不再需要时删除

更多关于存储的信息

国家从一个承诺过渡到新的承诺

0. last commit,i.e. HEAD commit
1. Working tree changes, file/directory deletion,adding,modification.
2. The changes are staged in index
3. Staged changes are committed

状态转换的动作

0->1: manual file/directory operation
1->2: git add .
2->3: git commit -m "xxx"

检查差异

0->1: git diff
0->2: git diff --cached
0->1, and 0->2: git diff HEAD
last last commit->last commit: git diff HEAD^ HEAD

恢复到上次提交

2->1: git reset
1->0: git checkout .     #only for tracked files/directories(actions include modifying/deleting tracked files/directories)
1->0: git clean -fdx     #only for untracked files/directories(action includes adding new files/directories)
2->1, and 1->0: git reset --hard HEAD

相当于git的克隆,没有重新下载任何东西

git reset && git checkout . && git clean -fdx

我要做的是

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

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

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

Git stash -u && Git stash drop