如何使用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
相关推荐
NocoBase7 小时前
【2.0 教程】第 1 章:认识 NocoBase ,5 分钟跑起来
数据库·人工智能·开源·github·无代码
量子位13 小时前
字节版龙虾架构火爆GitHub!开源获35k+ Star,内置Skill全家桶,原生适配飞书
github·ai编程
悠然大月季13 小时前
git 怎么导出提交历史,文件是乱码
git·git导出历史记录·git导出历史乱码
chenshiming80214 小时前
在cursor下执行GIT回退版本
git
汪海游龙17 小时前
开源项目 Trending AI 招募 Google Play 内测人员(12 名)
android·github
HealthScience17 小时前
github怎么授权ssh(私人库授权)
运维·ssh·github
打点计时器17 小时前
Git快速上手教程
git
我才是一卓18 小时前
linux 安装简易 git 服务端并使用
linux·运维·git
CoderJia程序员甲18 小时前
GitHub 热榜项目 - 日榜(2026-03-22)
人工智能·ai·大模型·github·ai教程