我的git存储库中有四个分支,使用GitHub进行管理:
有没有办法限制只有一个分支([人名] - 开发)的写访问权限?我该怎么做?
供参考,一个类似的问题:如何编写一个git钩子来限制写入分支?.
作为 GitHub 管理员,我想为所有用户锁定 GitHub 中的特定分支。例如,如果我不希望任何人推送到主/生产或项目分支,我该怎么做。
有没有办法直接锁定 GitHub 服务器上的分支,而不是使用任何客户端挂钩?是否有任何第三方工具/API/脚本可以帮助实现这一目标?
有没有办法建立一个分支,只能合并,而不是推入?此外,有没有什么方法适用于BitBucket,GitLab或GitHub?
我们处理功能分支,将它们推送到BitBucket/GitLab/GitHub(取决于项目),然后将它们合并到一个名为"development"的集成分支中.我想阻止人们直接推动'发展'.
BitBucket有一种限制对分支机构的访问的方法,但它也阻止了人们也能够进行合并请求.
对于基于产品的GIT存储库,其中存在用于维护,测试以及未来开发的分支,如何控制用户对这些分支的访问.通过访问,我的意思是即使其他人可能从中读取,他们也不应该无意中将更改推送到回购.
例如,
A - B - C - D - E - F -> master
| | |
V1 V2' exp
|
V2
Run Code Online (Sandbox Code Playgroud)
"B"是用于带有标记V1的Branch的提交 - 用于产品的已发布版本.只有支持/维护工程师才能访问此项.
C用于最近冻结的预发布产品V2',并且应该只允许关键的show-stopper错误修复,因此只有某些开发人员和测试团队才能访问它.当V2从该分支释放时,只有支持应该像V1一样访问它.
E用于分支测试未来V3的新功能 - 只有开发人员而不是支持人员才能访问它.
"主"更改只能由中央集成团队在请求的基础上合并(类似于GitHub).
如何用git实现上述目标?我记得看到gitosis和其他一些外部工具 - 这些对于使用git进行安全操作至关重要,还是有其他最佳实践?
谢谢.
添加了 Gitflow最佳实践分支模型
git ×3
github ×3
bitbucket ×1
git-branch ×1
git-flow ×1
git-merge ×1
github-api ×1
repository ×1
security ×1