Git 仓库同时推送到 Gitee 与 GitHub 配置指南

本指南记录了如何将本地 Git 仓库配置为通过单次 git push 命令,同时将代码推送至 GiteeGitHub 两个平台,并包含常见报错(如多 URL 冲突、SSH 权限拒绝)的排查与解决方案。


目录

  • [一、 前置准备](#一、 前置准备)
  • [二、 配置双推送 (SSH 方式)](#二、 配置双推送 (SSH 方式))
  • [三、 踩坑与排查方案](#三、 踩坑与排查方案)
  • [四、 日常使用与验证](#四、 日常使用与验证)

一、 前置准备

在进行配置前,请确保满足以下条件:

  1. Gitee 仓库 :已创建对应的项目仓库(例:xxx/advanced-py)。
  2. GitHub 仓库必须提前在 GitHub 上创建一个同名的空白仓库 (不要勾选初始化 README 或 .gitignore,保持完全为空)。
  3. SSH 密钥 :本机已生成 SSH Key(通常在 ~/.ssh/id_rsa.pub~/.ssh/id_ed25519.pub)。生成命令:ssh-keygen -t ed25519 -C "用户名称"

二、 配置双推送 (SSH 方式)

步骤 1:清理历史冲突配置

如果之前多次修改过 pushurl,建议先清空已有的推送地址,防止出现 multiple values 错误:

bash 复制代码
git config --unset-all remote.origin.pushurl

步骤 2:添加多推送地址

依次执行以下命令,为 origin 绑定 Gitee 和 GitHub 的 SSH 推送地址:

bash 复制代码
# 1. 添加 Gitee 的 SSH 推送地址
git remote set-url --add --push origin git@gitee.com:xxx/advanced-py.git

# 2. 追加 GitHub 的 SSH 推送地址
git remote set-url --add --push origin git@github.com:xxx/advanced-py.git

# 3. 将默认拉取 (fetch) 地址也同步修改为 SSH 格式
git remote set-url origin git@gitee.com:xxx/advanced-py.git

步骤 3:验证远程配置

运行以下命令检查配置是否正确:

bash 复制代码
git remote -v

正确输出示例:


三、 踩坑与排查方案

1. 报错:warning: remote.origin.pushurl has multiple values

  • 原因 :之前曾多次添加过 pushurl,导致配置列表中存在重复或冲突的项。

  • 解决:先清空配置,再重新添加:

    bash 复制代码
    git config --unset-all remote.origin.pushurl

2. 报错:git@gitee.com: Permission denied (publickey)

  • 原因:GitHub 推送成功,但 Gitee 拒绝连接。说明本地 SSH 公钥未配置到 Gitee 账号中。

  • 解决

    1. 查看并复制本地公钥:

      bash 复制代码
      cat ~/.ssh/id_ed25519.pub || cat ~/.ssh/id_rsa.pub
    2. 打开 Gitee 设置 -> SSH 公钥,添加复制的公钥。

PS:Github同理

  1. 测试 SSH 连通性:

    bash 复制代码
    ssh -T git@gitee.com

    返回 Hi xxx! You've successfully authenticated... 即成功。


四、 日常使用与验证

配置完成后,以后只需执行一次标准的推送命令:

bash 复制代码
git push origin master

预期输出日志:

当看到控制台分别打印了 github.comgitee.com 的更新结果,即表示两端同步成功!

相关推荐
7177771 小时前
GitHub 企业国产替代选型:Gitee 与主流平台对比及迁移要点
人工智能·gitee
十二同学啊3 小时前
Drools规则引擎:让复杂业务规则从代码中解耦
java·后端·开源
小葱运维3 小时前
日志规范(K8s 结构化日志)
运维·开源·云计算
All for pursuit.3 小时前
FastAPI+Ollama 部署本地AI大模型对话助手
python·github·aigc·ollama
冬奇Lab3 小时前
DeepSeek Harness 系列(10):写一个完整的 dsh 插件——从需求到上线
人工智能·学习·开源
小小龙学IT4 小时前
Boost.PFR 开源结构体字段反射库深度解析
c++·开源
对象存储与RustFS4 小时前
跨实现迁移 MinIO→RustFS:mc diff 静默返回才是最容易翻车的一步
后端·rust·开源
u1301305 小时前
GitHub 热榜项目:日榜(2026-09-18)
人工智能·github