我被困在 Github 问题上,这对我来说似乎很奇怪。
过去两年我一直在使用 Github。最近我遇到了一个问题,如下所示:
remote: Resolving deltas: 100% (12/12), completed with 12 local objects.
remote: error: GH006: Protected branch update failed for refs/heads/preprod.
remote: error: Changes must be made through a pull request.
Run Code Online (Sandbox Code Playgroud)
我正在组织工作,我们将回购协议保留为私人回购协议。
我们有不同的环境存储库,例如(staging、preprod、prod / master)
我们有 2 条身份验证规则。
几天后我无法推送到受保护的分支。我也是将代码推送到受保护分支的团队的一员。
我正在使用MAC。我知道有很多解决方案,但对我不起作用。
更新(2023 年 11 月 28 日):忘记在这里更新解决问题的最佳方法。
这意味着规则(2023 年 4 月的测试版)现已对所有存储库生效。
请务必遵循“管理员绕过分支保护的增强功能github.com”
或者,如昨天(2023 年 6 月 23 日)的讨论所示,您需要删除该规则:
OP 000723-weict建议使用分支和拉取请求的解决方法,这与我专注于理解和可能调整存储库规则和分支保护的方法不同。
OP 建议feature/123-preprod从受保护的分支 ( ) 创建一个新分支 (例如 ) preprod,然后将原始功能分支 ( ) 的更改合并feature/123到这个新分支中。该方法通过使用中间分支来合并更改,从而绕过对受保护分支的直接推送限制。
然后创建拉取请求以将中间分支合并到受保护分支中。成功部署后,中间分支将被删除,以保持存储库的清晰度。
我的方法包括理解和利用新的 GitHub 规则以及管理员绕过分支保护的增强功能。但它可能需要管理访问权限或更改存储库规则,这可能并不总是可行。