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

如何通过命令行修改GitHub贡献者PR后保留其署名合并?

保留贡献者Credit的PR修改与合并命令行步骤

场景说明

你需要修改贡献者提交的PR内容,但希望最终合并后仍保留该贡献者的贡献记录(即提交作者信息为原贡献者),以下是具体命令行操作步骤:


方法一:直接修改贡献者的PR分支(需贡献者授权推送权限)

如果贡献者给了你他fork仓库的推送权限,可直接在他的分支上修改:

  • 添加贡献者的仓库为本地远程:
    git remote add <贡献者用户名> https://github.com/<贡献者用户名>/<你的仓库名>.git
    
  • 拉取贡献者的PR分支:
    git fetch <贡献者用户名> <PR分支名>
    
  • 切换到该分支:
    git checkout <贡献者用户名>/<PR分支名>
    
  • 进行所需修改,完成后提交(关键:指定原贡献者为提交作者):
    git add .
    # 替换成原贡献者的姓名和邮箱,可从PR提交记录中获取
    git commit --author="贡献者姓名 <贡献者邮箱>" -m "补充修改:[描述修改内容]"
    
  • 将修改推回贡献者的远程分支:
    git push <贡献者用户名> HEAD:<PR分支名>
    
  • 此时GitHub上的PR会自动同步修改,确认后即可合并,贡献者的Credit会被正常记录。

方法二:无推送权限时的处理方案

如果没有贡献者仓库的推送权限,可基于PR分支创建本地分支修改,保留原作者信息:

  • 拉取PR对应的提交到本地临时分支:
    git fetch origin pull/<PR编号>/head:<临时分支名>
    
  • 切换到临时分支:
    git checkout <临时分支名>
    
  • 完成修改后提交,同样指定原贡献者为作者:
    git add .
    git commit --author="贡献者姓名 <贡献者邮箱>" -m "优化PR内容:[描述修改]"
    
  • 将临时分支推送到你的仓库:
    git push origin <临时分支名>
    
  • 你可以选择:
    1. 让贡献者将你的临时分支合并到他的PR分支,更新原PR后合并;
    2. 直接将临时分支合并到你的主分支——由于提交作者是原贡献者,GitHub会自动统计他的贡献Credit。

关键注意点

  • 原贡献者的姓名和邮箱可通过git log查看PR分支的提交记录获取;
  • 不要随意修改原贡献者的提交哈希(如用git commit --amend修改他的原始提交),除非征得对方同意,否则会破坏他的提交记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 01:27:30