gitlab远程分支恢复

/ 默认分类 / 1 条评论 / 1503浏览

提交代码时候将低版本代码误提交到master分支。如何将远程仓库恢复到历史版本?

1、在本地执行

git log

可以看到如下

bash~$ git log
commit 28fb2f4d1d7c06c08baf696a1fab6015775803cb (HEAD -> master)
Author: xx <xx.xx@qq.com>
Date:   Thu Dec 6 14:26:13 2018 +0800

2、恢复本地库版本到历史版本

git reset --hard 28fb2f4d1d7c06c08baf696a1fab6015775803cb

3、强制推送到远程仓库

git push origin master -f

可能出现的问题:

Total 0 (delta 0), reused 0 (delta 0)
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
To http://gitlab.xxxx.com/xx-xx/xx-xx.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://gitlab.xxx.com/xx-xx/xx-xx.git'

这是由于master分支默认是protect分支。 可以在gitlab上先解除protect状态,如下图:

alt

alt

  1. tie

    不错。解决了

    回复