首先要为git repo的每个成员做权限限制:
可以设置成员的角色:
Guest:权限最小,可以发表issue(用户反馈),不能clone
Reporter:只能查看,clone,不能push
Developer:能push,也能merge不受限制的分支
Maintainer:不能对项目进行迁移、删除,其它的权限都有,如push,merge
Owner:权限最大,包括项目的迁移、删除等管理权限
将其他开发者的权限设置为Reporter即可,CM设置为Maintainer,拥有对master分支的merge权利;
然后需要为git repo的master分支设置保护权限,直接用最严格的限制,拒绝所有的push:
只有Maintainer有merge权限,没有人(No one)可以push
在远端建立一个dev(develop)分支,其他的开发者本地也保留一个本地的dev分支;开发者每天做到电脑前的第一件事就是checkout到dev,去pll最新的repo;然后自建一个自己的本地branch,做了修改后,通过–set-up-stream和远端建立联系,然后push到远端的新建分支;然后向dev发起merge-request(在我们的项目中可以没有dev分支,用master作为最终分支即可);

需要为merge-request编写详细的描述:
勾选Delete source branch when merge request is accepted. 会在远端“删除”dev分支,但是事实上还是存在的;
本文详细介绍了如何在Git仓库中设置不同角色的权限,包括Guest、Reporter、Developer、Maintainer和Owner,以及如何保护主分支并使用merge-request流程进行代码整合。
1386

被折叠的 条评论
为什么被折叠?



