跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Gitee 迁移 GitHub 开源及双平台自动同步方案

介绍从 Gitee 迁移项目至 GitHub 的完整流程,包括保留提交历史的本地克隆推送方法。提供三种自动化同步方案:本地 Git 多远程推送、GitHub Actions 工作流同步以及 Gitee 原生仓库镜像功能。涵盖 SSH 密钥配置、权限检查、常见问题排查及速查命令清单,帮助开发者实现单端提交双平台自动同步,降低维护成本。

月亮邮递员发布于 2026/3/27更新于 2026/9/464 浏览
Gitee 迁移 GitHub 开源及双平台自动同步方案

多数国内开发者习惯使用 Gitee 托管代码,兼顾访问速度与协作便捷性。当项目需要面向全球开源、接入开源社区时,GitHub 是更适配的平台。但手动在两个平台重复提交、同步分支,不仅增加开发成本,还容易出现提交历史不一致、分支冲突、版本遗漏等问题。

本文针对从 Gitee 迁移项目至 GitHub 开源、仅提交一端即可实现双平台自动同步的核心需求,提供完整迁移流程、三种自动化同步方案,以及可直接复制的命令与配置清单,一次配置永久生效,彻底告别手动同步。

一、前期准备:基础环境与权限配置

开始迁移与同步前,先完成基础配置,避免权限报错、推送失败等问题,所有命令可直接复制执行。

  1. 前置检查
    • 清理项目中敏感信息(密钥、密码、内网配置、测试凭证)
    • 确认 Gitee 仓库拥有所有者/管理员权限
    • GitHub 完成邮箱验证,新建仓库权限正常

配置 SSH 密钥(双平台通用,无密码推送)

# 生成 SSH 密钥(一路回车,无需设置密码)
ssh-keygen -t ed25519 -C "你的注册邮箱"
# 查看公钥内容,复制后添加到 Gitee 和 GitHub 的 SSH 密钥设置中
cat ~/.ssh/id_ed25519.pub

检查并配置本地 Git 环境

# 查看 Git 版本,确认已安装 Git
git --version
# 配置全局用户名与邮箱(与 Gitee/GitHub 账号保持一致)
git config --global user.name "你的用户名"
git config --global user.email "你的注册邮箱"
二、Gitee 项目迁移至 GitHub:保留完整提交历史

迁移核心是全量同步代码、分支、提交历史,推荐本地克隆推送方式,稳定性最高。

方法 1:本地克隆 + 双远程推送(推荐)

  1. 登录 GitHub,新建空白仓库(不勾选 README、LICENSE、.gitignore)
  2. 克隆 Gitee 仓库到本地
git clone [email protected]:用户名/仓库名.git
cd 仓库名
  1. 为本地仓库添加 GitHub 远程地址
# 添加 GitHub 远程源,命名为 github
git remote add github [email protected]:用户名/仓库名.git
# 查看远程地址,确认 gitee 与 github 均已绑定
git remote -v
  1. 全量推送代码、分支、标签至 GitHub
# 推送所有分支
git push github --all
# 推送所有标签
git push github --tags

推送完成后,刷新 GitHub 仓库页面,即可看到与 Gitee 完全一致的代码与提交历史。

方法 2:GitHub 快速导入(无本地环境)

  1. 进入 GitHub 首页,点击「New repository」→「Import repository」
  2. 填入 Gitee 仓库克隆地址,设置仓库名称与公开权限
  • 等待自动导入完成,适合临时快速迁移
  • 三、自动同步方案:仅提交一端,双平台实时同步

    以下三种方案覆盖个人开发、团队协作场景,均实现一次提交,自动同步,按需选择即可。

    方案 A:本地 Git 多远程推送(极简配置,个人首选)

    原理:本地仓库同时绑定 Gitee 与 GitHub,一次推送同步双平台,无需云端工具,零依赖。

    后续使用(全程仅需常规 Git 命令)

    # 常规提交
    git add .
    git commit -m "提交说明"
    # 一次推送,同步 Gitee+GitHub
    git push origin 分支名
    

    验证配置是否生效

    git remote -v # 输出中 origin 会同时显示 gitee 和 github 两个推送地址
    

    为默认远程 origin 添加 GitHub 推送地址

    git remote set-url --add origin [email protected]:用户名/仓库名.git
    

    方案 B:GitHub Actions 自动同步(以 Gitee 为核心仓库)

    适合固定向 Gitee 提交、GitHub 自动更新的场景,依托 GitHub 原生工作流实现云端自动化。

    1. Gitee 生成私人令牌:进入 Gitee「设置」→「安全设置」→「私人令牌」,勾选 repo 权限,生成并复制令牌。
    2. GitHub 添加密钥:进入 GitHub 仓库「Settings」→「Secrets and variables」→「Actions」→「New repository secret」,名称填写 GITEE_TOKEN,值粘贴 Gitee 令牌。
    3. 提交配置文件,后续向 Gitee 推送代码,GitHub 会自动同步。

    新建同步工作流:在 GitHub 仓库创建文件 .github/workflows/sync-to-gitee.yml,复制以下配置:

    name: Sync Gitee to GitHub
    on:
      push:
        branches: [ main, master, '*' ]
    workflow_dispatch:
    jobs:
      sync:
        runs-on: ubuntu-latest
        steps:
          - name: Sync Repository
            uses: wearerequired/git-mirror-action@v1
            with:
              source-repo: [email protected]:用户名/仓库名.git
              destination-repo: [email protected]:用户名/仓库名.git
    

    方案 C:Gitee 原生仓库镜像(平台级同步,无需配置)

    Gitee 自带镜像功能,无需本地/云端配置,平台级自动同步,稳定性最高。

    1. 进入 Gitee 仓库「管理」→「仓库镜像管理」→「添加镜像」
    2. 镜像方向选择「Push(同步到外部仓库)」
    3. 填入 GitHub 仓库地址,绑定 GitHub 令牌
    4. 启用镜像,后续 Gitee 提交自动同步至 GitHub
    四、核心速查清单:一键复制,直接使用
    1. GitHub Actions 配置速查
      直接复制上述 sync-to-gitee.yml 完整内容,修改用户名与仓库名即可使用。

    迁移与多远程配置速查

    # 克隆 Gitee 仓库
    git clone [email protected]:用户名/仓库名.git
    cd 仓库名
    # 添加 GitHub 远程
    git remote add github [email protected]:用户名/仓库名.git
    # 全量推送
    git push github --all && git push github --tags
    # 配置双远程推送
    git remote set-url --add origin [email protected]:用户名/仓库名.git
    # 常规同步提交
    git add . && git commit -m "更新内容" && git push origin
    

    Git 基础配置速查

    # Git 全局配置
    git config --global user.name "你的用户名"
    git config --global user.email "你的邮箱"
    # 生成 SSH 密钥
    ssh-keygen -t ed25519 -C "你的邮箱"
    cat ~/.ssh/id_ed25519.pub
    
    五、常见问题与避坑指南
    1. 推送权限失败:检查 SSH 密钥是否添加双平台、令牌权限是否完整,优先使用 SSH 地址而非 HTTPS。
    2. 分支同步不全:必须使用 --all 与 --tags 参数,确保全量分支与标签同步。
    3. 代码冲突:同步前先拉取远程最新代码,保持本地与源仓库一致。
    4. 自动化同步失败:检查 GitHub 密钥配置、YAML 文件缩进、Gitee 令牌是否过期。
    5. 开源合规:迁移后添加 LICENSE、完善 README,避免敏感信息泄露。
    六、方案选型建议
    • 个人独立开发:选择方案 A,本地一次配置,无依赖、操作最简单。
    • 团队协作:选择方案 B 或方案 C,统一提交入口,避免成员本地配置不一致。
    • 长期维护:定期检查双平台同步状态,保持分支、版本、文档一致。
    七、总结

    从 Gitee 迁移至 GitHub 开源,核心是一次迁移、永久自动同步,无需重复提交与手动维护。本文提供的三种方案覆盖不同使用场景,配合可直接复制的命令与配置清单,可快速实现仅提交一端,双平台自动同步的目标,彻底解决多平台代码托管的繁琐问题。

    目录

    1. 一、前期准备:基础环境与权限配置
    2. 生成 SSH 密钥(一路回车,无需设置密码)
    3. 查看公钥内容,复制后添加到 Gitee 和 GitHub 的 SSH 密钥设置中
    4. 查看 Git 版本,确认已安装 Git
    5. 配置全局用户名与邮箱(与 Gitee/GitHub 账号保持一致)
    6. 二、Gitee 项目迁移至 GitHub:保留完整提交历史
    7. 添加 GitHub 远程源,命名为 github
    8. 查看远程地址,确认 gitee 与 github 均已绑定
    9. 推送所有分支
    10. 推送所有标签
    11. 三、自动同步方案:仅提交一端,双平台实时同步
    12. 常规提交
    13. 一次推送,同步 Gitee+GitHub
    14. 四、核心速查清单:一键复制,直接使用
    15. 克隆 Gitee 仓库
    16. 添加 GitHub 远程
    17. 全量推送
    18. 配置双远程推送
    19. 常规同步提交
    20. Git 全局配置
    21. 生成 SSH 密钥
    22. 五、常见问题与避坑指南
    23. 六、方案选型建议
    24. 七、总结

    更多推荐文章

    查看全部
    • 爬虫技术应用场景与职业发展指南
    • 从 Copilot 到 Agentic:大型组织如何重构人×AI×流程研发范式
    • Visual Studio 2026中Github Copilot的大模型
    • 小米温湿度计固件改造与智能家居集成方案
    • Python 历届奥运会数据可视化分析系统
    • Eino ADK 核心 Agent 详解:ChatModelAgent 机制与实战
    • 基于 Vue 和 Python 的摄影作品分享系统设计与实现
    • 树莓派 SPI 通信读取 255 故障排查:spidev 驱动与硬件层分析
    • GitHub 学生开发者包认证全流程指南
    • 基于 Web 的学校田径运动会管理系统开题答辩问答实录
    • Python 环境安装与配置 Gurobi 求解器指南
    • AVL 树核心原理与 C++ 模拟实现详解
    • Sora 2 发布:AI 视频生成技术突破与开发者机遇
    • Unity VR 眼镜端高分辨率全景视频播放性能优化
    • 基于五条标注数据快速完成快递单信息抽取
    • 基于 Vue + Three.js 构建 Sonic 数字人前端交互预览系统
    • Python 核心应用领域与开发环境配置详解
    • 低代码开发详解:核心概念与主流平台选型指南
    • FPGA 直方图均衡化及图像处理实现详解:MATLAB 与 Verilog 联合仿真
    • 将 AI 小助手接入企业微信:基于回调接口的群聊机器人实现

    相关免费在线工具

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

    • Base64 文件转换器

      将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

    • Markdown转HTML

      将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

    • HTML转Markdown

      将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

    • JSON 压缩

      通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

    • JSON美化和格式化

      将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online