所有没有 commit 的本地改动,都会随着 reset --hard 丢掉,无法恢复。
如果只是想回到 pull 之前当前分支所在的commit位置,则可以。比方说你在 master 分支上,可以用 git reflog master 查看 master 分支历史变动记录,其中应该有一个就是你 pull 之前的那个commit, 你可以用 git reset --hard
1
2
3
4
$ git reflog master
3b4946a master@{0}: merge origin/master
9187e70 master@{1}: xxxxxxx
3b4946a master@{2}: yyyyyyy
使用checkout回到之前的commit就行了