Git 将一个分支完全覆盖(不是合并)到另一个分支

Git 将一个分支完全覆盖(不是合并)到另一个分支
案例: 将dev分支的代码完全覆盖到master上
     1.git checkout master
     2.git reset --hard dev
     3.git push origin master --force
注意:若被覆盖的分支有处于受保护(protected)的状态,则执行push操作后会报错:
     1. remote: GitLab: You are not allowed to force push code to a protected branch on this project.
     2. To https://git.xxx.cn/xxx/xxx.git
     3. ! [remote rejected] master -> master (pre-receive hook declined)
强制推送报错解决的办法
     登录你的gitlab仓库,找到设置/仓库/保护分支,将需要强制推动的分支取消保护即可。然后强制推送完,再将该分支保护回去就可以了Git 将一个分支完全覆盖(不是合并)到另一个分支_第1张图片

**注意点:**这里需要你对该仓库的权限是master权限的人员,才可以解除该分支的保护,以及对保护分支做修改。如果没有这么高的权限又确定要完全覆盖,那么就找仓库管理员给你配权限。
一般这种操作很少,大家不要轻易尝试

你可能感兴趣的:(git,git,github)