是否可以允许 Github 自动合并功能合并拉取请求,而不需要我在每个拉取请求上显式启用自动合并?
我有:
Allow auto-merge
当需求/状态检查处于挂起/运行状态时,我仍然需要手动选择
Enable auto-merging
,以便拉取请求自动合并。
我认为你做不到。相反,我建议使用 GitHub 操作来为您执行自动合并,为您提供所需的相同行为。 查看此 GitHub 操作:https://github.com/marketplace/actions/merge-pull-requests-automerge-action
据我所知,它需要使用 GitHub Actions(或其他一些 CI/自动化工具)。
此设置有一些假设:
main
分支受到限制,谁可以推入其中。main
受到限制,请为有权推送到存储库的用户创建 PAT(个人访问令牌)“PAT_GITHUB_ACTIONS”。未使用默认的 GITHUB_TOKEN。
启用自动自动合并的步骤
在您的存储库中创建一个文件
./github/workflows/automerge.yml
,其中包含以下内容。
name: Enable Automerge
on:
pull_request:
branches:
- main
jobs:
Enable-Automerge:
runs-on: ubuntu-latest
steps:
- name: Auto Merge
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.PAT_GITHUB_ACTIONS}}
为用户创建一个可以推送到分支的个人令牌。给予许可
repo: Full control of private repositories
。
将令牌添加到存储库 -> 设置 -> 秘密和变量 -> 操作 -> 存储库秘密
为
main
分支启用分支保护规则。出于测试目的,使用了简单的规则。
合并前需要拉取请求
不允许绕过以上设置
限制谁可以推送到匹配的分支
创建测试拉取请求。自动化需要几秒钟才能启动。