2012-12-22 77 views
1

有时候错误的是,一些用户倾向于将其本地分支推送到远程回购,从而在远程回购中创建新分支。我们如何禁止用户在远程仓库上创建新的分支,但仍然允许他们将更改推送到现有仓库。Git:不允许用户将新分支推送到远程回购

谢谢!

+0

当他们误推它时,让他们移除分支会不会更简单? –

+0

是的,这是我们一直在做的事情。但是,如果有一些事情我们可以首先拒绝,那将是一件好事。 –

回答

3

这取决于你的远程仓库的位置。如果您完全控制它,创建一个updatehook可能是最简单的解决方案。您只需检查分支名称(ref name)和允许的分支列表,如果不匹配,就拒绝更新。

如果您使用Gitolite来访问存储库,您也可以只指定rules以仅应用于已知分支并禁止对所有其他分支的推送访问。

+0

感谢您的快速响应。是的,添加钩子看起来像是一个可能的解决方案。抱歉忘了提及我们正在使用gitorious来托管我们的回购,并且无法轻松找到它的访问控制设置。 –

+0

@SmitShah不幸的是,无法直接在Gitorious中设置这些东西。如果你自己托管Gitorious,你可以添加自定义钩子。有关更多信息,请参阅示例文件'/ data/hooks/custom-update.sample'。 – poke