我偷偷藏了点东西,现在有一堆冲突。我在 git stash pop之前已经提交了所有最近的代码,那么有没有办法回到上一次提交并消除所有的冲突和 git stash pop注入的代码呢?
git stash pop
这个问题已经在 stackoverflow 中得到了回答(参见 如何将 Git 存储库恢复到以前的提交?) ,但是简单的答案是:
git reset --hard HEAD
这应该能解决你的问题
请注意,如果存在冲突,则保留存储:
应用状态可能会因为冲突而失败; 在本例中,并非如此 您需要手动解决冲突 然后手动调用 git stash drop。
git stash drop
如果你再也不想看到那些被爆出来的作品,这就像一次硬重置一样简单:
这告诉 git 忽略工作目录中有未提交更改的事实,并设置工作目录、暂存区域和头部到指定的提交——在本例中是现有的 HEAD,它包含了您刚提交的所有工作。
也可以对特定文件调用 Reset:
git reset HEAD <filename>...
虽然你不能硬重置一个文件,但是你可以在结帐后恢复这些变化:
git checkout -- <filename>...
正如卢克在迈克尔 · 米伦的回答中指出的那样,你的藏货将被保留。
当您不想丢失未提交的本地更改时,这非常有用。