远程:错误:GH006:refs/heads/preprod 的受保护分支更新失败

000*_*ict 3 git macos github

我被困在 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 条身份验证规则。

  1. 必须得到其中一人的批准
  2. 它有一些受保护的分支,如 staging、preprod、prod/master。

几天后我无法推送到受保护的分支。我也是将代码推送到受保护分支的团队的一员。

我正在使用MAC。我知道有很多解决方案,但对我不起作用。

更新(2023 年 11 月 28 日):忘记在这里更新解决问题的最佳方法。

  • 如果您无法解决问题,那么快速修复将是从不允许您推送更改的分支创建一个新分支,并将当前分支合并到新创建的分支中。(例如,A 是 preprod 分支,B 是您的 feature/123 分支,然后从名为 feature/123-preprod 的 preprod 分支创建新分支。现在将 feature/123 分支的更改合并到 feature/123-preprod 分支中并推送更改到远程。之后使用新分支 feature/123-preprod 创建针对 preprod 的 PR。)
  • 在这种特殊场景中,不会有 RMC,您可以轻松合并 preprod 中的更改。
  • 另外,不要忘记在部署后删除 feature/123-preprod 分支以避免混淆。
  • 仅当您在受保护的分支下仅选择了几个选定的分支时,这才有效。

Von*_*onC 7

这意味着规则2023 年 4 月的测试版)现已对所有存储库生效。

请务必遵循“管理员绕过分支保护的增强功能github.com

或者,如昨天(2023 年 6 月 23 日)的讨论所示,您需要删除该规则:

https://user-images.githubusercontent.com/5814919/248411819-7859c48b-3f2e-4ba6-b072-c6f0ec9c3027.png


OP 000723-weict建议使用分支和拉取请求的解决方法,这与我专注于理解和可能调整存储库规则和分支保护的方法不同。

OP 建议feature/123-preprod从受保护的分支 ( ) 创建一个新分支 (例如 ) preprod,然后将原始功能分支 ( ) 的更改合并feature/123到这个新分支中。该方法通过使用中间分支来合并更改,从而绕过对受保护分支的直接推送限制。
然后创建拉取请求以将中间分支合并到受保护分支中。成功部署后,中间分支将被删除,以保持存储库的清晰度。

我的方法包括理解和利用新的 GitHub 规则以及管理员绕过分支保护的增强功能。但它可能需要管理访问权限或更改存储库规则,这可能并不总是可行。