完成拉取请求时自动删除分支

问题描述 投票:0回答:3

我的公司使用带有git的VSTS。当我在VSTS中的开发分支中完成拉取请求时,会自动检查删除功能分支的复选框,但除非我更改功能分支上的权限以允许管理员用户组我是重写和摧毁历史的成员(强制推动)。

每次完成拉取请求时都这样做很乏味,但我并不是想让这个管理员用户组的所有成员始终能够删除功能分支。似乎可能会有意外删除。当我正在完成已经过审核和批准的拉取请求时,我确实对删除开发分支感到非常自在。就权限而言,还有第三种选择吗?如果能够删除功能分支,您的公司如何设置策略?

git azure-devops git-branch pull-request
3个回答
1
投票

相应分支删除源分支需要重写和销毁历史(强制推送)权限。

默认情况下,分支所有者具有删除分支(新分支)的权限。对于其他分支,您可以指定特定用户对指定分支的权限,而不需要为整个组指定该权限,之后您不需要每次都指定权限。 (选择分支,单击添加=>添加用户)

enter image description here

总而言之,有两种方法可以做到这一点,1:通过pull request reviewer创建分支。 2:为拉取请求审阅者授予重写和销毁历史(强制推送)权限。


0
投票

我自己没有和VSTS合作,但在其他git hosters(gitlab和github)中有一个名为“Protected Brances”的东西。

对于这些受保护的分支(我的工作流中的'master'和'development'),我覆盖了不允许开发人员删除这些分支的权限(他们可以删除其他分支)

编辑1:我的记忆力有问题。无法删除受保护的分支(使用git;仍然可以使用gitlab网页删除它们)。可以设置允许接受合并请求和推送到分支的权限(参见屏幕截图).Gitlab protected branches screenshot


0
投票

恕我直言,我认为你应该把责任推给分支所有者/ PR创建者。您可能已经知道,您可以将某些人(读取:引导开发人员)设置为PR上的“必需”,甚至可以根据要更改的仓库中的目录或区域过滤这些自动添加人员(我们使用人员组)。

这将允许您和您的其他可信赖的开发人员审查所做的代码更改,并将阻止PR创建者在没有授权更改的权威人士的情况下将任何代码添加到您的developmaster分支中。 PR的实际完成实际上只是一个令牌动作。真正有用的信息是知道谁批准了请求。

授予分支机构和公关所有者对其功能分支和PR的责任将减轻您更改分支权限的问题,以便您(不是分支所有者)可以删除其他人员分支。它还可以缓解错误删除问题,因为所有者应该知道功能何时完成。

恕我直言,如果功能没有完成,完成,它不应该得到PR。

另请注意,删除AzDO中的源分支不会影响本地存储库,直到有人执行git remote prune origin或者选择的IDE定期为它们执行此操作,因此如果错误地删除了功能分支,则应至少有一个它在开发工作站上的某处复制。我们不使用“定期修剪我的遥控器”选项,这也是部分原因。

© www.soinside.com 2019 - 2024. All rights reserved.