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

协作R项目中使用pr_push()推送代码时遭遇GitHub远程配置错误‘theirs’的求助

解决 pr_push() 触发的 "Internal error: Unexpected GitHub remote configuration: 'theirs'" 错误

你的问题核心在于远程仓库配置不符合pr_push()的预期——从你提供的 git remote -v 结果来看,当前origin远程指向的是原仓库(PPBDS/primer),而不是你自己的fork仓库。pr_push() 函数需要本地分支关联到你自己的fork才能创建PR,这就是报错的根源。

下面是具体的解决步骤:

1. 准备你的fork仓库地址

先登录GitHub找到你fork后的仓库,它的URL格式应该是:https://github.com/你的GitHub用户名/primer.git,把这个地址记下来。

2. 修正远程仓库配置

打开RStudio的终端(或者系统终端进入项目所在目录),根据你的需求选择以下一种方法:

方法一:重置origin为你的fork(推荐)

这是最标准的配置方式:origin指向自己的fork,upstream指向原仓库。

# 将origin远程地址替换为你的fork地址
git remote set-url origin https://github.com/你的GitHub用户名/primer.git

# 添加原仓库为upstream,方便后续同步原仓库的更新
git remote add upstream https://github.com/PPBDS/primer.git

方法二:新增远程指向你的fork(保留原origin)

如果不想修改现有origin的指向,可以新增一个远程(比如命名为myfork):

git remote add myfork https://github.com/你的GitHub用户名/primer.git

3. 关联本地分支并推送

  • 如果你用了方法一,直接执行以下命令关联分支并推送:
git push -u origin Python.v

完成后再运行 pr_push() 就能正常触发PR推送了。

  • 如果你用了方法二,需要指定远程仓库推送:
git push -u myfork Python.v
# 或者直接在pr_push中指定远程
pr_push(remote = "myfork")

4. 验证配置是否正确

执行 git remote -v 检查输出,确认以下两种情况之一:

  • origin 指向你的fork仓库,同时存在upstream指向原仓库 PPBDS/primer;
  • myfork 指向你的fork仓库,origin 保持指向原仓库 PPBDS/primer。

这样配置完成后,pr_push() 就能正确识别远程仓库,顺利完成PR的推送操作了。

内容的提问来源于stack exchange,提问作者Ahmet Atilla Colak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 20:57:35