git - 为某些用户锁定master分支?

时间:2010-12-10 23:06:27

标签: git branch git-branch branching-and-merging

我想强迫其他团队成员不在主分支上工作,而是在开发分支上工作。我们有一个中央的git-repository,我们将工作推进到我们的工作中。我想知道是否可以阻止用户将更改推送到主分支,但只允许某些用户这样做。

我想拥有以下“工作流程”

  • 开发始终只使用开发分支
  • 完成
  • 发布经理负责主分支,只允许他将开发分支中的东西合并到主分区,并将其推送到中央存储库的主分支。

这可能吗?我怎样才能做到这一点?

2 个答案:

答案 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之外,没有人能够掌握 - 但是每个人都可以工作,因为他们有自己的本地开发分支,开发人员可以在他们自己的分支中分享他们喜欢的分支。

下一步是制作一个烹饪锅测试仪,用于即将成为主人的东西。此底池通常称为nextdev。这个想法是,分支的影响越大,合并到掌握之前烹饪的时间就越长。这使得RM可以完全控制分支机构应该毕业的内容,并且仍然可以让每个人都进行单挑。