在没有 Web 界面的情况下合并并推送到受保护的分支

Merge and push to protected branch without the web interface

在 bitbucket 和 github 上有受保护的分支, 全部审核通过后, 有没有办法在本地仅使用 git 并避开网站来拉、合并和推送受保护的分支?

此外,避免使用诸如 --force 之类的 buypass 以确保这些检查确实已通过。

bitbucket

git中心

来自 GitHub Documentation:

要将拉取请求合并到受保护的分支并启用所需的拉取请求审查,拉取请求必须符合审查政策。在此政策中,拉取请求:

  • 必须有一个批准的评论
  • 不能有任何要求更改的评论

如果满足上述条件,您可以将拉取请求合并到受保护的分支。只需使用

# 123 is the pull request number
git fetch origin pr/123/head:newbranch
git checkout protected_branch
git merge newbranch
git branch -D newbranch

由于该分支是受保护的分支,您不能直接提交给它。您只能通过拉取请求提交给它。在受保护的分支中也严格禁止使用 --force