如何使用GitKraken把git项目迁移到另一个平台,并保存所有提交记录,例如把github上的项目,迁移到gitee

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
相关推荐
高小秋1 小时前
项目开发使用 git工作流插件 -- jgitflow开发实践
git
tealcwu1 小时前
【软件工程】浅析Git message, version, changelog之间的关系
git
whysqwhw2 小时前
Kotlin `by`关键字特性深度解析
github
五号厂房3 小时前
Git Worktree 使用指南
git
uhakadotcom3 小时前
Loguru 全面教程:常用 API 串联与实战指南
后端·面试·github
秦jh_4 小时前
【git】企业级开发模型
git
逛逛GitHub5 小时前
推荐 5 个 yyds 的 Claude Skills 开源项目。
github
y***54885 小时前
Git在开源项目中的协作
git
weixin_436525075 小时前
使用 idea 命令行构建 Docker 镜像并部署到云服务器
linux·docker·github