You need to enable JavaScript to run this app. 如何使用Git Bash将同一份代码推送到GitHub不同仓库及解决origin已存在报错
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Git Bash将同一份代码推送到GitHub不同仓库及解决origin已存在报错

报错原因说明

你遇到的报错和Git是否支持多远程推送完全无关,核心是远程别名的命名冲突:
origin只是Git给远程仓库地址起的默认短别名,不是特殊功能标识。你之前已经执行过git remote add origin git@github.com:user/ci.git,已经把origin这个别名绑定到了ci仓库的地址,再次用同一个别名添加新的远程仓库,Git自然会判定重复抛出错误。

对应解决操作

可以根据你的实际需求选择对应方案:

方案1:同时保留ci、abc两个仓库的关联,实现双仓库同步

如果既需要保留原来ci仓库的推送关联,又要新增关联abc仓库,直接给新仓库起一个不重复的别名即可,不要使用已经被占用的origin:

  • 先执行命令确认现有远程配置,验证origin已经绑定的是ci仓库地址:
    git remote -v
  • 给abc仓库新增自定义别名(比如命名为abc-remote,名字任意只要不与现有别名重复):
    git remote add abc-remote git@github.com:user/abc.git
  • 后续推送到abc仓库时,直接指定对应别名执行:
    git push -u abc-remote master

如果嫌每次推送要执行两次命令太麻烦,还可以配置让origin别名同时绑定两个仓库的推送地址,执行一次git push就会同步推送到ci和abc两个仓库:

  • 给现有origin补充abc仓库的push关联(原来的ci仓库push地址已经存在,不需要重复添加):
    git remote set-url --add --push origin git@github.com:user/abc.git
  • 配置完成后,执行git remote -v可以看到origin的push分支会同时列出ci、abc两个仓库的地址,后续执行git push origin master就会自动把代码同时推送到两个仓库。如果后续需要取消某个仓库的自动推送,执行git remote set-url --delete --push origin 对应仓库的git地址即可。

方案2:替换原有关联,以后默认推送到abc仓库

如果你不再需要关联原来的ci仓库,想把默认的origin直接指向新的abc仓库,直接修改现有origin的绑定地址即可,不需要新增别名:

  • 直接覆盖origin的远程地址为abc仓库的地址:
    git remote set-url origin git@github.com:user/abc.git
  • 之后正常执行推送命令即可:
    git push -u origin master

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 05:15:04