由于操作失误,需要将代码进行版本回退,首先在本地仓库执行了“git reset --hard HEAD^”命令,这样只会回退本地仓库的代码,但是我的代码之前已经push到了远程库中,查看远程仓库,发现并没有回退,怎么办呢,经过实际操作,通过以下方法可以达到效果:
1:首先在本地分支执行“git reset --hard HEAD^”,将版本会退到以前。这里的“HEAD^”只是回退到上一个版本,如果要回退到更早的版本,可以通过“git log或git log --pretty=oneline”命令从日志中查看某次提交的commit id,然后通过“git reset --hard commitId”将代码回退到指定的版本。
2:这时候只是本地代码回退了,现在我们执行命令“git push origin master”,会出现一个失败,提示当前分支落后于远端分支,这是肯定的了,因为本地代码回退了嘛,此时我们要做的就是强制推送,通过执行命令“git push origin master --force”来实现,然后查看远程库,发现远程版本也已经回退了。
注意:强制push的时候要保证本地代码是最新的,如果其他小伙伴们在此时进行了远程推送,那么会造成代码的丢失。