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

如何以个人GitHub账号身份通过GitHub Actions提交更改?

解决GitHub Actions推送提交者身份不符的问题

核心原因

GitHub Actions 默认使用 github-actions[bot] 作为提交身份,仅设置用户名不配置对应验证邮箱不会生效,另外 checkout 动作的参数也会影响提交身份的配置逻辑。

具体解决步骤

1. 完整配置Git用户信息

执行Git提交前,必须同时设置用户名和GitHub已验证的邮箱,二者缺一不可,示例代码:

- name: 配置Git用户身份
  run: |
    git config --global user.name "你的GitHub用户名"
    git config --global user.email "你的GitHub绑定邮箱"

2. 调整Checkout动作参数

使用checkout@v4(推荐新版本)时,添加persist-credentials: false,避免默认的bot凭证覆盖自定义配置:

- name: 拉取仓库代码
  uses: actions/checkout@v4
  with:
    persist-credentials: false

3. 用个人访问令牌(PAT)完成推送

先在GitHub仓库的Secrets中添加你的PAT(需勾选repo权限),然后在推送步骤指定令牌:

- name: 推送变更到仓库
  run: |
    git remote set-url origin https://${{ secrets.YOUR_PAT }}@github.com/你的用户名/你的仓库名.git
    git add .
    git commit -m "自动更新内容"
    git push

完整Workflow示例

name: 自动推送变更
on:
  push:
    branches: [ main ]

jobs:
  update:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取仓库代码
        uses: actions/checkout@v4
        with:
          persist-credentials: false

      - name: 配置Node.js环境
        uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: 执行Node.js更新脚本
        run: node your-update-script.js # 替换为你的实际更新脚本

      - name: 配置Git身份
        run: |
          git config --global user.name "你的GitHub用户名"
          git config --global user.email "你的GitHub绑定邮箱"

      - name: 推送变更
        run: |
          git remote set-url origin https://${{ secrets.YOUR_PAT }}@github.com/你的用户名/你的仓库名.git
          git add .
          git commit -m "通过GitHub Actions自动更新"
          git push

额外注意事项

  • PAT必须勾选repo权限,否则无法完成仓库推送操作。
  • 禁止将PAT直接写在Workflow文件中,务必存放在仓库Secrets内。
  • 若提交仍显示bot身份,检查Git配置步骤是否在提交前执行,避免被后续步骤覆盖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:37:09