对于基于产品的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最佳实践分支模型
在我们的产品首次发布之后,我们将切换到主要开发和功能开发的不同分支.有没有一种方法来创建这样一个分支,这样我们就可以防止它被删除(无意或故意的),除非你是一个特定的用户(基于角色或用户名)?
我试图在我们的本地gitlab机器中创建一个示例git存储库,然后从网站上的选项中保护其中一个分支,但后来我能够将其删除git push origin :branch_name
.提前致谢!
该解决方案是否适用于github.com?
有时,我在git中创建本地分支,当我尝试从它们中提取时,我想收到一条警告消息.
如何防止自己意外地从当地分支机构撤职?
我是 GIT 和分支的新手,最近我看到了 protected
分支,这是什么意思以及我们如何保护分支?
当观众中的某个人问我如何锁定远程分支,防止其他人推送时,我正在对GIT进行介绍性演示.
我理解为什么一直在使用TFS的人对此感到疑惑,但有没有理由说明为什么需要在GIT中锁定远程存储库?如果是这样,哪些?