git回退之前版本

时间:2023-03-08 20:13:37
git回退之前版本

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

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

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