问题描述
启用该选项后代码将不能直接被推送到此分支,所有的代码提交都必须通过另一个非保护分支发起合并请求进行合并。
解决方法
使用gogs开启分支保护后无法向保护分支push代码,此时只能是由开发人员发起合并请求,管理员处理合并。
操作步骤:
申请远程分支合并至远程master(开发人员)
回到自己账户中,选择合并请求->创建合并请求
选择合并分支:
申请成功。
管理员同意合并请求(管理员)
在管理员账号上,点击合并请求,没有冲突就可以合并成功,如下图所示:
回到文件选项,可以看到刚才lisi的提交。
以上过程完成了lisi提交分支,合并远程master过程。
补充
多人协作过程如下(以lisi为例):
- lisi切换至master分支,从远程pull下来最新的远程master代码
- lisi切换至自己本地的分支,merge master,更新自己的分支
- lisi修改本地文件内容,commit至自己的本地分支上,并推给远程分支
- lisi登陆自己的gogs账号,申请自己的远程分支合并至远程master
-
分支合并:
-
若无问题,管理员会同意分支合并,若无冲突,会将远程分支合并至远程master
- 若有冲突,管理员通知lisi,先才从远程master pull下来最新的代码,在本地分支上解决冲突,然后再push到远程分支,重新申请合并