对于基于产品的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 GUI的建议.理想情况下应具有以下特征:
不是非常有限,即可以支持相对复杂的功能,例如rebase,no-ff
显示以"学习模式"执行的Git命令,尤其是对于具有许多选项的命令
便携式(不需要安装窗户或即使只有窗户,也可以像便携式应用一样工作)
最好是多平台(所以我的linux机器和windows笔记本电脑之间没有学习曲线.