案例: 将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菜单项,将待覆盖的分支从受保护的分支中移除,最后重新执行上述语句即可。