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

如何在自有仓库编辑他人提交的Pull Request并保持其活跃?

当然可以实现!

不过有个关键前提:PR的提交者需要在创建PR时勾选「允许维护者修改」的选项。如果当前PR没开启这个权限,你可以让提交者去PR页面的「Settings」板块里勾选「Allow edits from maintainers」——没有这个权限的话,你没法直接往对方的分支推送修改。

满足前提后,下面两种方法都能让你在PR分支里直接修改并提交,完全不会影响你的master分支:

方法一:用GitHub CLI(gh)快速操作

如果你习惯用命令行工具,GitHub CLI是最省心的方式:

  1. 先确保你已经安装并登录了GitHub CLI:
    gh auth login
    
  2. 直接拉取指定PR到本地专属分支:
    gh pr checkout 44
    
    这条命令会自动创建一个本地分支,并且关联PR对应的远程分支(也就是提交者fork仓库里的分支)。
  3. 现在你可以放心地审阅、修改代码了,改完后提交你的修改:
    git add .
    git commit -m "修复X功能的逻辑漏洞,补充Y模块的注释说明"
    
  4. 直接推送到远程,更新PR内容:
    git push
    
    推送完成后,PR页面会自动刷新显示你的新提交,提交者也会收到通知——所有修改都留在这个PR分支里,完全碰不到你的master分支。

方法二:用普通Git命令手动操作

如果你不想用GitHub CLI,也可以手动配置远程分支:

  1. 先确认你的本地仓库已经关联了自己的远程仓库(origin):
    git remote -v
    
  2. 添加提交者的fork仓库作为新的远程源(假设提交者的GitHub用户名是contributor):
    git remote add contributor https://github.com/contributor/myrepo.git
    
  3. 拉取PR对应的分支(你可以从PR页面看到对方的分支名,比如叫feature-improve):
    git fetch contributor feature-improve
    git checkout -b pr-44 contributor/feature-improve
    
  4. 进行修改并提交:
    git add .
    git commit -m "调整Z函数的参数处理,适配更多场景"
    
  5. 推送到提交者的分支,更新PR:
    git push contributor pr-44:feature-improve
    

额外说明

  • 所有操作都在独立的PR分支上进行,你的master分支全程不会被改动,直到你后续手动合并这个PR。
  • 如果对方暂时没法开启维护者权限,你也可以把自己的修改提交成一个新PR到对方的fork仓库,让对方合并到他的PR分支后再更新原PR——不过这种方式比较繁琐,优先建议让对方开启维护者修改权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:38:37