如何阻止github-pages[bot]修改我的gh-pages分支?
阻止github-pages[bot]修改gh-pages分支的方法
方法1:禁用GitHub Pages自动部署
GitHub Pages默认会通过github-pages[bot]自动将指定源(比如main分支的docs文件夹)的内容部署到gh-pages分支。要停止这个行为:
- 进入仓库的Settings页面,找到Pages选项
- 在「Source」下拉菜单中选择None,保存设置
- 之后bot就不会再自动更新gh-pages分支了
方法2:为gh-pages分支添加保护规则
如果需要保留GitHub Pages部署,但要限制bot的修改权限,可以设置分支保护:
- 进入仓库Settings -> Branches -> Branch protection rules
- 点击「Add rule」,在「Branch name pattern」中填入
gh-pages - 勾选以下关键选项:
- Restrict who can push to matching branches:添加允许推送的用户/团队,排除
github-pages[bot] - 可选:勾选Require pull request reviews before merging,强制所有修改必须通过PR审核才能合并(bot无法自行完成审核)
- Restrict who can push to matching branches:添加允许推送的用户/团队,排除
- 保存规则后,bot将无法直接修改gh-pages分支
方法3:改用自定义部署流程
完全绕过GitHub Pages的自动部署,用自定义脚本或GitHub Actions控制gh-pages分支的内容:
- 编写GitHub Actions工作流,在构建完成后手动将产物推送到gh-pages分支(使用个人访问令牌PAT而非bot权限)
- 示例核心步骤:
- name: Deploy to gh-pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} publish_dir: ./dist
- 这种方式下,
github-pages[bot]不会参与部署,你可以完全控制gh-pages分支的内容
内容的提问来源于stack exchange,提问作者L. Kvri




