bash
下面给出用 GitKraken 把一个仓库(例:GitHub)迁移到另一个平台(例:Gitee),并保留全部提交记录的做法。核心思路是给本地仓库新增一个"远程"(指向 Gitee),然后把所有分支与标签推送过去;或使用镜像推送一次性完成。
准备工作
- 在 Gitee 先创建一个空仓库:不要勾选初始化 README/.gitignore/License,保持完全空仓库。
- 选好连接方式:
- SSH:在 Gitee 配好 SSH 公钥;GitKraken 使用相应私钥。
- HTTPS:在 Gitee 生成一个有仓库权限的个人访问令牌(PAT),用于身份验证。
- 在 GitKraken 打开你的本地仓库,先 Fetch all 确保本地包含 GitHub 的最新提交与远程分支。
方法一:镜像推送(推荐,最快、最完整)
说明:镜像推送会把本地所有引用(分支/标签/远程跟踪分支等)原样同步到目标远程,并可能强制覆盖目标远程的同名引用,所以目标仓库必须是空的。
1) 在 GitKraken 中添加 Gitee 远程
- 左侧 Remotes 区域 → 点击"+"或"Add Remote"
- Remote name 填写 gitee(自定义也可以)
- URL 粘贴 Gitee 仓库地址(SSH 或 HTTPS)
- 保存
2) 使用 GitKraken 的内置终端执行镜像推送
- 打开 GitKraken 底部/侧边的 Terminal(或右上角菜单 Open in Terminal)
- 依次执行:
- git fetch --all --prune
- git push --mirror gitee
完成后,Gitee 会拥有与你本地相同的所有分支与标签(提交历史完整保留)。


如果项目太多,可以选择仅推送master分支的代码:
git push -u gitee master




bash
下面给出两种常见做法,满足"仅迁移 master 分支(保留它的提交记录)"的需求。若你的默认分支叫 main,请把命令中的 master 改成 main。
方式一:只克隆并推送 master(推荐)
在 Gitee 上先创建一个空仓库(不要勾选初始化 README/.gitignore/License)。
本地执行:
只取 master 分支:git clone --single-branch --branch master https://github.com/USER/REPO.git REPO-master-only
进入目录:cd REPO-master-only
添加 Gitee 远程:git remote add gitee https://gitee.com/USER/REPO.git
推送 master:git push -u gitee master
到 Gitee 仓库设置里,把默认分支设为 master(如需要)。
方式二:你已有本地仓库,直接只推 master
确保本地有最新的 master:git checkout master && git pull
添加 Gitee 远程:git remote add gitee https://gitee.com/USER/REPO.git
只推送 master(不推其他分支/标签):git push -u gitee master