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

使用Github Actions部署到Heroku提示推送被拒:无法删除main分支

问题原因

你遇到的部署报错核心是akhileshns/heroku-deploy action默认采用git推送方式部署,你指定了appdir: "dist",而dist是构建产物目录,本身不包含git仓库信息,action无法识别对应分支导致部署失败,单独添加branch参数无法解决该问题,该参数仅用于指定源代码仓库的部署分支,和dist目录的git信息缺失无关。

解决方案

直接在action的配置项中添加dontusegit: true即可,该参数会让action跳过git校验,直接将指定目录的内容压缩后推送到Heroku,适配构建产物部署的场景。

修改后的完整配置如下:

name: Deploy
on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: install
        run: npm i
        
      - name: test
        run: npm run test-git

      - name: build
        run: npm run build-full
                
      - uses: akhileshns/heroku-deploy@v3.12.12
        with:
          heroku_api_key: ${{secrets.HEROKU_API_KEY}}
          heroku_app_name: "appname"
          heroku_email: "myemail"          
          appdir: "dist"
          dontusegit: true

额外校验项

  • 如果你部署的是前端静态应用,需要确保dist目录下有合法的启动配置,比如包含package.json且scripts中配置了正确的start命令,或者给Heroku应用配置了静态资源buildpack,避免部署后启动失败
  • 确认GitHub仓库Secrets中存储的HEROKU_API_KEY是你Heroku账号生成的有效授权密钥,heroku_app_name和heroku_email和你的Heroku应用信息一致

内容的提问来源于stack exchange,提问作者P_R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:06:02