多数国内开发者习惯使用 Gitee 托管代码,兼顾访问速度与协作便捷性。当项目需要面向全球开源、接入开源社区时,GitHub 是更适配的平台。但手动在两个平台重复提交、同步分支,不仅增加开发成本,还容易出现提交历史不一致、分支冲突、版本遗漏等问题。
本文针对从 Gitee 迁移项目至 GitHub 开源、仅提交一端即可实现双平台自动同步的核心需求,提供完整迁移流程、三种自动化同步方案,以及可直接复制的命令与配置清单,一次配置永久生效,彻底告别手动同步。
一、前期准备:基础环境与权限配置
开始迁移与同步前,先完成基础配置,避免权限报错、推送失败等问题,所有命令可直接复制执行。
- 前置检查
- 清理项目中敏感信息(密钥、密码、内网配置、测试凭证)
- 确认 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:本地克隆 + 双远程推送(推荐)
- 登录 GitHub,新建空白仓库(不勾选 README、LICENSE、.gitignore)
- 克隆 Gitee 仓库到本地
git clone [email protected]:用户名/仓库名.git
cd 仓库名
- 为本地仓库添加 GitHub 远程地址
# 添加 GitHub 远程源,命名为 github
git remote add github [email protected]:用户名/仓库名.git
# 查看远程地址,确认 gitee 与 github 均已绑定
git remote -v
- 全量推送代码、分支、标签至 GitHub
# 推送所有分支
git push github --all
# 推送所有标签
git push github --tags
推送完成后,刷新 GitHub 仓库页面,即可看到与 Gitee 完全一致的代码与提交历史。
方法 2:GitHub 快速导入(无本地环境)
- 进入 GitHub 首页,点击「New repository」→「Import repository」
- 填入 Gitee 仓库克隆地址,设置仓库名称与公开权限


