我希望只有1个用户能够推送(强制推送和常规推送)到某个分支,而其他所有人都没有推送权限。
这些是我设置的权限(我的用户在“限制谁可以推送到匹配的分支”下列出。但是,当我尝试强制推送时,出现了分支保护错误。
答案 0 :(得分:0)
首先,您将只想发出分支请求。您显示的屏幕截图可以帮助您。
完成此操作后,我想您可以对CI进行一项检查,即“检查请求请求的作者是否在白名单中”。
然后,在“合并之前需要通过状态检查”中,添加上一步中提到的检查。
现在,除非您的CI表示“是的,允许该作者在此分支中进行更改”,否则任何人都无法对该分支进行更改
关于是否要自动合并通过白名单检查的分支,我不建议这样做,但是如果愿意,有很多GitHub应用程序都可以做到这一点,并且您也可以创建一个非常小的GitHub使用GitHub API自行应用。
答案 1 :(得分:0)
实际上,这仍然不允许用户强制按下。
Since Dec. 4th 2019,有一种方法可以通过启用Allow force pushes
来授予所有具有推送访问权限的用户强制推送到受保护分支的功能。
如果CI用户具有对(受保护分支)master
的推送访问权限,它将可以强制推送。