GitHub 和 Gitee 两个平台之间同步代码、或把项目整体迁移到 Gitee,是很多开发者都会遇到的需求。好消息是,将 GitHub 项目导入到 Gitee 是一个简单直接的过程。本文将介绍三种常见方法,帮你根据实际场景选择合适的方案。
方法一:通过 Gitee 网页导入(适合单次迁移)-推荐
如果你只是偶尔迁移一两个仓库,网页导入是最省事的方式,全程可视化操作,无需配置命令行环境。
1. 登录 Gitee
打开 Gitee 官网,登录你的账号。
2. 选择导入功能
点击页面右上角的「+」按钮,在弹出的菜单中选择「从 GitHub 导入」。
3. 授权 GitHub 账号
按提示完成 GitHub 账号授权(需要有对应仓库的访问权限)。对于私有仓库,还需要额外进行授权确认。
4. 选择仓库并导入
在列表中选择目标 GitHub 仓库,设置好 Gitee 上的仓库名称和路径,点击「导入」,等待导入完成即可。导入耗时取决于仓库大小。
小提示:通过网页导入的仓库,通常不会同步发行版(Releases)。如果你需要发行版内容,可能需要通过其他方式补充或手动迁移。


提示:发行版(Releases)属于平台独立的功能,Git 本身无法同步,无论用哪种方法都需要在 Gitee 上手动重建或另行处理。。
方法二:命令行添加 Remote(适合已有本地仓库、需持续同步)
如果你本地已经有这个仓库,且希望在 GitHub 和 Gitee 之间保持同步,用命令行添加远程仓库是最高效的方式。
1. 在 Gitee 新建空仓库
登录 Gitee,点击「+」→「新建仓库」,填写仓库名等基本信息。注意:不要勾选「初始化仓库」相关选项(如自动生成 README、.gitignore),保持空仓库状态,否则后续推送可能报错。
2. 添加 Gitee 为远程仓库
在本地仓库目录下执行,把 Gitee 仓库地址添加为新的 remote(假设命名为 gitee):
git remote add gitee https://gitee.com/你的用户名/仓库名.git
3. 推送代码
推送默认分支(main 或 master,按你的仓库而定):
git push gitee main
4. 推送全部分支和标签(可选)
如果需要把全部分支、标签一并同步:
git push gitee --all
git push gitee --tags
适用场景 :仓库已经在本地、想长期保持双平台同步。之后每次在本地
git push时可以同时推送到 GitHub 和 Gitee 两个 remote。
方法三:本地中转镜像迁移(适合完整迁移、本地没有仓库时)
如果你本地没有该仓库,又希望一次性把所有分支、标签、提交历史完整搬过去(包括发行版之外的全部内容),推荐使用镜像克隆的方式。
1. 镜像克隆 GitHub 仓库
--mirror 会克隆包括所有分支、标签在内的完整引用,生成一个裸仓库:
git clone --mirror https://github.com/你的用户名/仓库名.git
2. 在 Gitee 新建空仓库
与方法二相同,在 Gitee 上新建一个空仓库(不初始化)。
3. 镜像推送到 Gitee
进入克隆出的目录,把全部内容推送到 Gitee:
cd 仓库名.git
git push --mirror https://gitee.com/你的用户名/仓库名.git
4. 删除本地裸仓库(可选)
迁移完成后,如果本地不再需要这个镜像仓库,可以直接删除该目录:
cd ..
rm -rf 仓库名.git
适用场景:需要把仓库整体从 GitHub 迁移到 Gitee,且要保留完整的分支、标签与提交历史;适合 "搬家" 式的一次性迁移。
方法三:本地中转镜像迁移(适合完整迁移、本地没有仓库时)
如果你本地没有该仓库,又希望一次性把所有分支、标签、提交历史完整搬过去(包括发行版之外的全部内容),推荐使用镜像克隆的方式。
1. 镜像克隆 GitHub 仓库
--mirror 会克隆包括所有分支、标签在内的完整引用,生成一个裸仓库:
git clone --mirror https://github.com/你的用户名/仓库名.git
2. 在 Gitee 新建空仓库
与方法二相同,在 Gitee 上新建一个空仓库(不初始化)。
3. 镜像推送到 Gitee
进入克隆出的目录,把全部内容推送到 Gitee:
cd 仓库名.git
git push --mirror https://gitee.com/你的用户名/仓库名.git
4. 删除本地裸仓库(可选)
迁移完成后,如果本地不再需要这个镜像仓库,可以直接删除该目录:
cd ..
rm -rf 仓库名.git
适用场景:需要把仓库整体从 GitHub 迁移到 Gitee,且要保留完整的分支、标签与提交历史;适合 "搬家" 式的一次性迁移。