案例: 将dev分支的代码完全覆盖到master上。
- git checkout master
- git reset --hard dev
- git push origin master --force
若被覆盖的分支有处于受保护(protected)的状态,则执行push操作后会报错:
- remote: GitLab: You are not allowed to force push code to a protected branch on this project.
- To https://git.xxx.cn/xxx/xxx.git
- ! [remote rejected] master -> master (pre-receive hook declined)
这时我们只需要登录到git的网页端,首先进入待覆盖的分支,接着找到Protected Branch菜单项,将待覆盖的分支从受保护的分支中移除,最后重新执行上述语句即可。