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

GitHub不允许fork原仓库时 如何将自有仓库提交PR到上游仓库

无法识别为fork仓库时向原仓库提交PR的解决方案

方法1:直接拼接PR跳转地址(最快可用)

GitHub的PR创建页支持通过URL参数直接指定来源分支,不需要仓库有fork关联:

  • 替换下述地址中的占位符,直接在浏览器访问即可进入原仓库的PR创建页:
    https://github.com/<原仓库所有者名>/<原仓库名>/pull/new/<你的GitHub用户名>:<你存放修改的分支名>
    
    示例:原仓库是torvalds/linux,你的用户名是testuser,修改分支是fix-xxx-bug,对应访问地址为https://github.com/torvalds/linux/pull/new/testuser:fix-xxx-bug
  • 进入页面后正常填写PR标题、说明提交即可。

方法2:对齐提交历史后手动选择分支

如果需要长期贡献,建议先对齐上游提交历史,后续可以正常在页面选择分支:

  • 先确认本地已经添加原仓库为上游源:
    # 查看现有远程源
    git remote -v
    # 没有的话添加上游
    git remote add upstream https://github.com/<原仓库所有者名>/<原仓库名>.git
    
  • 将你的修改分支变基到上游最新版本,避免提交冲突:
    # 拉取上游最新提交
    git fetch upstream
    # 切换到你的修改分支
    git checkout <你的修改分支名>
    # 变基到上游主分支(主分支一般为main或master,根据原仓库实际情况替换)
    git rebase upstream/<原仓库主分支名>
    # 若出现冲突,解决冲突后执行git add <冲突文件>,再运行git rebase --continue完成变基
    # 强制推送变基后的分支到你自己的远程仓库
    git push -f origin <你的修改分支名>
    
  • 回到原仓库的New pull request页面,点击Compare across forks,在「头部分支(head repository)」下拉框选择你的仓库,分支选择你修改后的分支即可创建PR。如果下拉框搜不到你的仓库,直接用方法1的拼接地址即可。

常见误区说明

  • git request-pull是Git原生命令,仅生成纯文本格式的PR说明内容,不会在GitHub平台创建PR记录,你之前执行成功没有页面展示是正常预期行为。
  • GitHub是否标记你的仓库为fork,不影响你提交PR的功能,只要你的分支提交历史和原仓库同源,就可以通过上述两种方法正常提交PR。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 15:45:03