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

如何从同组织的Repo A向Repo B发起Pull Request?

解决跨仓库PR找不到目标仓库及远程切换报错问题

一、创建PR时看不到Repo A的解决办法

GitHub默认只展示你拥有权限的仓库和原fork的上游仓库,若Repo A未出现在选项中,可按以下方式处理:

  • 手动指定仓库路径:在PR创建页的「head repository」下拉框中,直接输入组织名+Repo A名称(如your-org/Repo-A),系统会自动匹配出目标仓库。
  • 检查权限与组织设置:确认你拥有Repo A的写入权限,同时核实组织仓库设置中没有限制跨仓库PR的规则。
  • 从Repo A直接发起PR:打开Repo A的main分支页面,点击「Compare & pull request」,在目标仓库(base repository)中选择同组织的Repo B,设置base分支为main,即可直接创建PR。

二、切换远程origin报错的排查步骤

切换远程仓库时的报错多与权限、地址错误有关,按以下流程处理:

  1. 查看当前远程仓库配置
    执行命令确认当前远程指向:
    git remote -v
    
  2. 修改远程仓库地址
    若要将origin切换为Repo B的地址,执行:
    # HTTPS地址示例
    git remote set-url origin https://github.com/your-org/Repo-B.git
    # 或SSH地址示例
    git remote set-url origin git@github.com:your-org/Repo-B.git
    
  3. 验证修改结果
    再次执行git remote -v,确认origin已指向Repo B。
  4. 针对性解决报错
    • 若提示permission denied:检查SSH密钥是否已添加至GitHub账号,或HTTPS凭证是否正确。
    • 若提示fatal: not a git repository:确认当前处于本地仓库的根目录下。
    • 切换后拉取/推送报错:先拉取Repo B main分支的最新代码,解决冲突后再操作:
      git pull origin main
      

额外建议:若需同时管理Repo A和Repo B,无需替换origin,可新增一个远程别名:

git remote add repo-b https://github.com/your-org/Repo-B.git

后续推送至Repo B可使用git push repo-b main,origin仍保留指向Repo A,方便同步上游代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 09:01:02