git - git push同时推送GitHub和Gitee两个远程仓库

文章目录

    • 一、核心原理
    • 二、操作步骤(从零开始也适用)
      • [0. 准备工作](#0. 准备工作)
      • [1. 查看当前远程](#1. 查看当前远程)
      • [2. 绑定「双 push 地址」](#2. 绑定「双 push 地址」)
      • [3. 验证配置](#3. 验证配置)
      • [4. 首次推送](#4. 首次推送)
    • [三、常见场景 Q&A](#三、常见场景 Q&A)

本地只有一份代码,却想「主份」放 GitHub、「镜像」放 Gitee(或公司内网 GitLab)?

不必来回拷贝,也不必写脚本循环 push,Git 本身就能让「一个远程名」对应「多个 URL」。

一、核心原理

Git 的 remote 支持:

  1. 一个 remote 可以有多条 pushurl
  2. 执行 git push <remote> <branch> 时,会依次向所有 pushurl 发送数据

因此只要把两个平台的地址绑到同一个 remote(通常是 origin),就能实现「一条命令,多地开花」。

二、操作步骤(从零开始也适用)

0. 准备工作

  • 已有本地仓库(或 git init 新建)
  • 在 GitHub & Gitee 分别创建空仓库,拿到 HTTPS 或 SSH 地址
    示例:
    • GitHub:git@github.com:user/repo.git
    • Gitee:git@gitee.com:user/repo.git

1. 查看当前远程

bash 复制代码
git remote -v

如果之前没加过远程,会空列表;若已有单平台,继续下一步即可。

2. 绑定「双 push 地址」

bash 复制代码
# 把 origin 的 fetch 地址设为 GitHub(习惯主仓)
git remote add origin git@github.com:user/repo.git

# 再追加 Gitee 作为第二条 pushurl
git remote set-url --add --push origin git@gitee.com:user/repo.git

3. 验证配置

bash 复制代码
git remote -v

预期输出:

复制代码
origin  git@github.com:user/repo.git (fetch)
origin  git@github.com:user/repo.git (push)
origin  git@gitee.com:user/repo.git (push)

fetch 只有一条,push 有两条,说明成功。

4. 首次推送

bash 复制代码
# 本地已 commit 的前提下
git push -u origin main   # 或 master

终端会先刷 GitHub 进度,再刷 Gitee 进度,都 100% 即双平台完成!

以后正常开发,只需:

bash 复制代码
git push

即可保持同步。

三、常见场景 Q&A

  1. 已存在 origin,只想追加?

    直接 git remote set-url --add --push origin <新地址>,无需删除旧地址。

  2. 想同时推三个 / 四个仓库?

    继续 --add --push 第三条、第四条 URL,Git 不限制数量。

  3. 拉取时从哪拉?

    fetch URL 只有第一条,默认 git pull 会从 GitHub 拉;

    若想改到 Gitee,可:

    bash 复制代码
    git remote set-url origin git@gitee.com:user/repo.git

    --add --push 把 GitHub 加回来即可。

  4. 提示权限失败?

    • 用 SSH 地址需先在各自平台添加本机公钥;
    • 用 HTTPS 地址可配置 personal access token,避免输入密码。
  5. CI 重复触发?

    双平台都有 Webhook/Actions 时,一次 push 会触发两遍。

    可在 CI 里通过 if: github.repository_owner == 'user' 或仓库名过滤,避免重复。


👉点击进入 我的网站

相关推荐
放下华子我只抽RuiKe51 小时前
从零构建高精度 AI Agent Skill:Tech Blog Generator 实战指南
人工智能·prompt·github·ai agent·skills·openclaw·development
2401_884662102 小时前
GitHub镜像站搭建全攻略大纲
github
散峰而望3 小时前
【基础算法】从入门到实战:递归型枚举与回溯剪枝,暴力搜索的初级优化指南
数据结构·c++·后端·算法·机器学习·github·剪枝
Refly4 小时前
【微信接入 OpenClaw 龙虾🦞】10分钟手把手教程完成接入,Claude 模型无限使用
前端·微信·github
csdn_aspnet4 小时前
Git灾难级误操作抢救手册:从reset到reflog的终极救援
git·恢复·误删
老星*6 小时前
Lucide Icons:开源、轻量、设计师友好的现代图标库
ui·开源·github
星霜笔记6 小时前
GitMob — 手机端 GitHub 管理工具
android·kotlin·github·android jetpack
2401_891655816 小时前
Git + 云原生:如何管理K8s配置版本?
git·云原生·kubernetes
m0_528174457 小时前
Git对象存储原理(blob/tree/commit) 引用日志(reflog)
大数据·git·elasticsearch·全文检索
无限进步_7 小时前
【C++】单词反转算法详解:原地操作与边界处理
java·开发语言·c++·git·算法·github·visual studio