1、进入项目含.git的目录,
git log 显示提交历史
git log --pretty=oneline 简短显示提交历史
HEAD表示当前版本,head^表示上一个版本,head~n (n表示回退到前n个版本,n=3就表示回退到前三次提交之前,以此类推,回退到n次提交之前)
2、回退命令:
git reset --hard commitId(即版本号)根据commitId,回退到这个commitId的版本
git reset --hard HEAD^ 回退到上个版本
git reset --hard HEAD~3 回退到前3次提交之前
3、回退后需要强推到远程:
git push origin HEAD --force 强退到远程
git push -f origin XXX(分支名称),强行将本地回退后的分支提交到远程分支
4、回退完成后,如果别人本地还是最新代码,但我们回退了版本,别人提交会出现错误或者拉不下来,需执行下面命令:
git fetch --all 使用这个命令就可以拉了
5、回退后已经提交远程,想要恢复到最新版本怎么办?
当使用git reset --hard commitId回退版本时,再想恢复到最新版本,就必须找到最新的commitId,git提供了一个命令git reflog用来记录你的每一次命令,通过这个命令可以找到对应的commitId,再使用回退命令回退即可。
git reflog 查看命令历史,以便确定要回退到未来的哪个版本
git reset --hard commitId(这里的commitId是git reflog命令中找到的要恢复的版本号)
执行即可成功恢复