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

如何修改已被接受的Pull Request中提交的作者信息?

修改已合并提交的作者信息

因为提交已经合并到远程仓库的X0分支,修改作者信息需要重写Git历史,操作前必须和团队成员沟通确认,避免造成代码冲突。以下是两种场景的解决方案:

场景1:仅单个提交需要修改作者信息

  1. 切换到X0分支并拉取最新代码:
    git checkout X0
    git pull origin X0
    
  2. 启动交互式变基,定位到要修改的提交(把N替换为从目标提交到当前HEAD的提交数):
    git rebase -i HEAD~N
    
    在弹出的编辑器中,找到目标提交的行,将开头的pick改为edit,保存退出。
  3. 修改该提交的作者信息:
    git commit --amend --author="user_x <user_x@email.com>" --no-edit
    
  4. 完成变基:
    git rebase --continue
    
  5. 强制推送到远程分支(这会覆盖远程历史,务必确认团队知情):
    git push -f origin X0
    

场景2:多个提交都使用了错误的作者信息

  1. 切换到X0分支并拉取最新代码:
    git checkout X0
    git pull origin X0
    
  2. 执行filter-branch批量替换作者信息:
    git filter-branch --env-filter '
    OLD_EMAIL="user_a@email.com"
    CORRECT_NAME="user_x"
    CORRECT_EMAIL="user_x@email.com"
    if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
    then
        export GIT_COMMITTER_NAME="$CORRECT_NAME"
        export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    fi
    if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
    then
        export GIT_AUTHOR_NAME="$CORRECT_NAME"
        export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
    fi
    ' --tag-name-filter cat -- --branches --tags
    
  3. 清理变基产生的临时文件:
    git update-ref -d refs/original/refs/heads/X0
    
  4. 强制推送到远程分支:
    git push -f origin X0
    

后续注意事项

  • 团队其他成员需要重新同步X0分支,建议使用:
    git fetch origin
    git reset --hard origin/X0
    
  • 为避免再次出错,建议给当前仓库单独设置正确的用户信息(而非全局配置):
    git config user.name user_x
    git config user.email user_x@email.com
    

内容的提问来源于stack exchange,提问作者Janzaib M Baloch

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:45:00