在master分支回滚时,先git reset --hard 加分支提交版本号 然后执行 强制推到远程 git push -u origin master -f ( origin:远程仓库名 master:分支名称 -f:force,意为强制、强行)
我们是要把本地的修改强制推送到远程分支上,在强推mster的可能会报错,意思是没有权限之类的错误,报错如下。
bogon:credit wanghongsen$ git push -u 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 git.lianjia.com:sinan/credit.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'git@git.lianjia.com:sinan/credit.git' |
是因为master分支一般会成为保护分支,所以我们首先要去除master为保护分支,才可以强推。
为分支开启保护
*管理员可以开启
* 开启,无法强制推送
* 开启,无法被删除
* 只有测试全部通过才被接受合并
该分支添加了保护权限,需要设置去掉保护权限
去掉protected操作如下
再次执行 强制推到远程 git push -u origin master -f 提示成功,问题解决!