git pull误操作如何撤回呢

2025-03-03 04:24:29
推荐回答(2个)
回答1:

所有没有 commit 的本地改动,都会随着 reset --hard 丢掉,无法恢复。 

如果只是想回到 pull 之前当前分支所在的commit位置,则可以。比方说你在 master 分支上,可以用 git reflog master 查看 master 分支历史变动记录,其中应该有一个就是你 pull 之前的那个commit, 你可以用 git reset --hard 来恢复。比如下面的,假定你 pull 之前处在 xxxxxx 那个位置,那么可以用 git reset --hard master@{1} 恢复。 但是无论如何,没有commit并被 git reset --hard 清掉的本地改动是无法通过git恢复的。

1
2
3
4
$ git reflog master
3b4946a master@{0}: merge origin/master
9187e70 master@{1}: xxxxxxx
3b4946a master@{2}: yyyyyyy

回答2:

使用checkout回到之前的commit就行了