You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GitHub Actions部署GitPages遇master分支发布错误的规避方案

GitHub Actions部署GitHub Pages规避"Cannot publish on branch master"错误方案

你遇到的Cannot publish on branch master错误,是因为helaili/jekyll-action默认会把构建产物推送到当前触发工作流的分支(也就是master分支),但你的GitHub Pages已配置gh-pages作为活跃分支,同时直接推送到master分支也不符合代码分支与页面分支分离的逻辑。

以下是具体的规避方案:

1. 修改推送触发的工作流配置

编辑.github/workflows/github-pages.yml,明确指定将构建产物推送到gh-pages分支,同时补充完整提交历史的拉取配置(确保Jekyll构建正常),修改后的代码如下:

name: Deploy to GitHub Pages

on:
  push:
    branches:
      - master

jobs:
  github-pages:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0  # 获取完整提交历史,避免Jekyll构建时的历史依赖问题
      - uses: helaili/jekyll-action@v2
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          target_branch: 'gh-pages'  # 指定构建产物推送到gh-pages分支

2. 确认仓库Pages设置

进入你的GitHub仓库Settings页面,找到Pages选项:

  • 在Source区域,确保选择的分支是gh-pages(若你的页面文件存放在分支的docs目录,可同时指定目录为/docs)
  • 保存设置后,后续推送master分支时,Action会自动将构建产物推送到gh-pages分支,触发Pages更新

注:你的dry-run.yml仅用于PR时的构建检查,不会执行推送操作,当前配置无需修改。

内容的提问来源于stack exchange,提问作者JangHwan.Park

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:15:41