我有一小组开发人员,他们使用bitbucket作为我们的git存储库。
我想知道如何限制谁可以在bitbucket中的pull请求中合并代码?和/或在合并之前强制至少一个批准。基本上我希望强制进行代码审查。
截至目前,pull-request(以及其他所有人)的创建者不仅可以批准,还可以合并代码,这些代码可能是出于质量目的的问题。提前谢谢。
更新
Bitbucket现在允许控制推送权限,分支删除和历史记录重写。完整的管理说明如下:https://confluence.atlassian.com/bitbucket/branch-management-385912271.html
但是仍然没有办法强制进行最低数量的批准。
答案 0 :(得分:12)
我想知道如何限制谁可以在bitbucket中的pull请求中合并代码?和/或在合并之前强制至少一个批准。基本上我希望强制进行代码审查。
此功能目前在Bitbucket中不可用,但Atlassian的防火墙版本的Git托管有它。
Stash允许您:
限制谁可以更改分支
在合并拉取请求之前强制执行最少数量的批准(对于Bamboo构建,它可以执行类似的操作 - 即代码必须在合并之前进行编译)
如果提款请求发生变更,则重置审批
Atlassian自己的产品是一种奇怪的不对称。
答案 1 :(得分:0)
来自attlassian的回答:
Mary Anthony [Atlassian Technical Writer]
您好,
因此,存储库可以有分支。在该存储库中,您不能 在与存储库不同的分支上设置权限。 您可以在存储库上设置允许开发人员的权限 分叉存储库并对其发出拉取请求。至 配置这个:
Create a group on your account and call it "developers". Give the group read permissions. Add all the developers to that group. Edit the groups on the repository and add developers.
希望这有帮助。
玛丽
换句话说,您可以让您的开发人员分叉项目并从他们的分支发出拉取请求。在您的项目中,您可以将项目设置为禁止公共分叉。我假设他们将分叉项目,它将被隐藏。也就是说,他们将能够发出拉取请求并编辑自己的存储库。它看起来很尴尬,但它应该工作。
我没有感觉有一种很好的方法来处理github / bitbucket上的权限等等。
修改强>
不是真正的强制执行解决方案,但仍然非常有效。由于pull-request的批准是非常可选的。如果我是你,并不意味着你被搞砸了。我不会试图强制执行一个系统。现实情况是代码审查很重要。 Pull请求可以更轻松地查看提交集。
我工作了很多个月,是我团队中唯一一个创建/批准拉取请求的人。我工作的团队决定拉取请求是浪费时间,我想在我离开之前,他们都没有进行代码审查。我听到的最后一件事是我的队友目前正在重构我的代码,因为他不知道它是如何工作的。
我想说的是,不应该强制执行代码审查,并且您的团队应该将其视为非常重要的事情。您团队中的每个成员应该一起工作,并自己进行代码审查。通过代码审查,他们将有权拒绝他们认为“丑陋”或应以不同方式设计的代码。每个成员都可以了解其他开发人员的工作情况,如果生病,离开或死亡,可能没有太多问题可以转换任何人的工作!
从经理的角度来看,在系统中执行流程可能会很好。但我相信批准作为可选项也不错。然后,经理的工作是检查与1个或更少批准的人的拉取请求的合并拉取请求。检查谁合并了拉取请求和谁批准。无论如何,找人来审查代码。
另一方面,如果一个拉动请求永远停止,没有人正在审查它。要求配偶审查它是开发任务。