17

我有一个小型开发团队,他们使用 bitbucket 作为我们的 git 存储库。

我想知道如何限制谁可以在 bitbucket 的拉取请求中合并代码?AND/OR 强制至少一项批准才能完成合并。基本上我希望强制进行代码审查。

到目前为止,pull-request 的创建者(以及其他所有人)不仅可以批准,还可以合并代码,其中可能是出于质量目的的问题。提前致谢。

更新:

Bitbucket 现在允许控制推送权限、分支删除和历史重写。完整的管理说明在这里:https ://confluence.atlassian.com/bitbucket/branch-management-385912271.html

然而,仍然没有办法强制最低数量的批准。

4

2 回答 2

13

我想知道如何限制谁可以在 bitbucket 的拉取请求中合并代码?AND/OR 强制至少一项批准才能完成合并。基本上我希望强制进行代码审查。

此功能目前在 Bitbucket 中不可用,但 Atlassian 的 Git 托管的防火墙后版本具有此功能。

Stash 允许您:

  • 限制谁可以更改分支

  • 在合并拉取请求之前强制执行最少数量的批准(它可以为 Bamboo 构建做类似的事情 - 即代码必须在合并之前编译)

  • 如果拉取请求更改,则重置批准

在 Atlassian 自己的产品中,这是一种奇怪的不对称。

于 2013-08-04T04:45:16.400 回答
0

来自 atlassian 的回答:

Mary Anthony [Atlassian 技术作家]

你好,

因此,存储库可以有分支。在该存储库中,您无法在与存储库不同的分支上设置权限。您可以在存储库上设置权限,以允许开发人员分叉存储库并针对它发出拉取请求。要配置这个:

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.

希望这可以帮助。

玛丽

这是:https ://confluence.atlassian.com/display/BITBUCKET/Work+with+pull+requests?focusedCommentId=321851850#comment-321851850

换句话说,你可以让你的开发分支项目并从他们的分支发出拉取请求。在您的项目中,您可以将项目设置为禁止公共分叉。我假设他们将分叉该项目并将其隐藏。也就是说,他们将能够发出拉取请求并编辑自己的存储库。它看起来很尴尬,但它应该可以工作。

我不觉得有什么好方法可以处理 github/bitbucket 等上的权限。

编辑

不是真正的解决方案来强制执行它,但仍然非常有效。由于拉取请求的批准是完全可选的。并不意味着你被搞砸了,事实上,如果我是你的话。我不会试图强制执行一个系统。现实情况是代码审查很重要。拉取请求使审查提交集变得更加容易。

我工作了好几个月,成为团队中唯一一个创建/批准拉取请求的人。我工作的团队认为拉取请求是浪费时间,我猜在我离开之前他们都没有进行代码审查。我听到的最后一件事是,我的队友目前正在重构我的代码,因为他不知道它是如何工作的。

我想说的是,不应强制执行代码审查,您的团队应该将其视为一件非常重要的事情。团队中的每个成员都应该一起工作,并自己对彼此进行代码审查。通过进行代码审查,他们将有权拒绝他们认为“丑陋”或应该以不同方式设计的代码。每个成员都可以随时了解其他开发人员的工作情况,并且在生病、离开或死亡的情况下切换任何人的工作可能不会有太大问题!

从经理的角度来看,在系统中执行流程可能是件好事。但我相信,将批准作为可选选项也不错。然后,经理的工作将是检查合并的拉取请求是否有 1 个或更少的批准人。检查谁合并了拉取请求,谁批准了。无论如何都要找人来检查代码。

另一方面,如果一个拉取请求永远存在并且没有人审查它。让伙伴审查它是开发任务。

于 2013-08-04T03:22:19.383 回答