丢弃垃圾收藏棒棒糖

我偷偷藏了点东西,现在有一堆冲突。我在 git stash pop之前已经提交了所有最近的代码,那么有没有办法回到上一次提交并消除所有的冲突和 git stash pop注入的代码呢?

88335 次浏览

这个问题已经在 stackoverflow 中得到了回答(参见 如何将 Git 存储库恢复到以前的提交?) ,但是简单的答案是:

git reset --hard HEAD

这应该能解决你的问题

请注意,如果存在冲突,则保留存储:

应用状态可能会因为冲突而失败; 在本例中,并非如此 您需要手动解决冲突 然后手动调用 git stash drop

如果你再也不想看到那些被爆出来的作品,这就像一次硬重置一样简单:

git reset --hard HEAD

这告诉 git 忽略工作目录中有未提交更改的事实,并设置工作目录、暂存区域和头部到指定的提交——在本例中是现有的 HEAD,它包含了您刚提交的所有工作。

也可以对特定文件调用 Reset:

git reset HEAD <filename>...

虽然你不能硬重置一个文件,但是你可以在结帐后恢复这些变化:

git checkout -- <filename>...

正如卢克在迈克尔 · 米伦的回答中指出的那样,你的藏货将被保留。

当您不想丢失未提交的本地更改时,这非常有用。