问题
事情是这样的,最近跟几位同事搞一些东西,打算在Gitlab上建一个仓库,然后协同开发。
我建好仓库,将其他几位同事添加进来,角色分配为Develop。
之后提交初始代码到master分支后,他们用sourceTree拉取代码后进行开发,之后再提交时发现无法提交,提示没有权限。
如下:
错误提示:
git -c diff.mnemonicprefix=false -c core.quotepath=false push -v origin master:master
Pushing to http://xxx/xxx/xxx_HTML.gitPOST git-receive-pack (47642 bytes)
remote: GitLab: You don't have permission[K
To http://xxx/xxx/xxx_HTML.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://xxx/xxx/xxx_HTML.git'
解决方案
研究了下Gitlab,最终解决方案是:
在项目的【Setting】中的【Protected branches】可以设置哪些分支是被保护的,默认情况下【master】分支是处于被保护状态下的,develop角色的人是无法提交到master分支的,在下面的【Developers can push】打上钩就可以了。
还可以对某个分支做单独设定,哪些分支可以被提交
(完)
原文地址-http://www.cnblogs.com/xxcanghai/p/5009926.html