我想强迫其他团队成员不在主分支上工作,而是在开发分支上工作。我们有一个中央的git-repository,我们将工作推进到我们的工作中。我想知道是否可以阻止用户将更改推送到主分支,但只允许某些用户这样做。
我想拥有以下“工作流程”
这可能吗?我怎样才能做到这一点?
答案 0 :(得分:6)
请参阅man githooks
:在共享仓库中,您可以创建一个$(git rev-parse --git-dir)/hooks/pre-receive
或$(git rev-parse --git-dir)/hooks/update
脚本,用于验证用户尝试推送哪些内容。 Git附带了update-paranoid示例钩子强制执行每个引用ACL。
答案 1 :(得分:1)
我的低级方法只是让RM成为唯一一个使用SSH密钥推送到其他人用作主基线的存储库的方法。这样,除了RM之外,没有人能够掌握 - 但是每个人都可以工作,因为他们有自己的本地开发分支,开发人员可以在他们自己的分支中分享他们喜欢的分支。
下一步是制作一个烹饪锅测试仪,用于即将成为主人的东西。此底池通常称为next
或dev
。这个想法是,分支的影响越大,合并到掌握之前烹饪的时间就越长。这使得RM可以完全控制分支机构应该毕业的内容,并且仍然可以让每个人都进行单挑。