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

本指南记录了如何将本地 Git 仓库配置为通过单次 git push 命令,同时将代码推送至 Gitee 和 GitHub 两个平台,并包含常见报错(如多 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.com 与 gitee.com 的更新结果,即表示两端同步成功!

相关推荐
u1301306 小时前
GitHub 热榜项目:日榜(2026-10-29)
人工智能·github
穆梓兰煊7 小时前
Python 千万级向量检索内存优化手册
github
时早玖沐7 小时前
给 AstrBot 写一个天气推送插件:12 次提交、6 个坑
python·开源·ai编程
用户837133200767 小时前
AI总是会忘记细节咋办?我用GitHub实现外部记忆管理
人工智能·github
SL_staff7 小时前
制造业订单交付总踩坑?用结构化节点协同模型重构计划系统
java·开源·全栈
逛逛GitHub8 小时前
这 6 个 GitHub 项目是刚开源,但是 Star 攀升很快的几个。
github
不悔哥8 小时前
开源 CrewTrack:ESP32 加 RFID,自己组一台刷卡考勤机
开源
SL_staff9 小时前
APS动态重排实践:在多品种小批量场景下实现5分钟插单响应
java·开源·产品
分布式存储与RustFS11 小时前
模型权重散落在每台 GPU?用 RustFS 给 vLLM 做共享权重库
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
不老刘11 小时前
Antigravity 的 New Worktree 模式:给 AI 代理一个安全的“平行工位”
人工智能·git·ai编程·antigravity