如何使用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
相关推荐
Controller-Inversion17 小时前
cdn协议
计算机网络·github
qq_54702617919 小时前
Git 使用指南
git
wzfj1234520 小时前
ssh 远程pc如何不用每次都输入密码
github
XiaoHu020721 小时前
Linux多线程(详细全解)
linux·运维·服务器·开发语言·c++·git
*才华有限公司*21 小时前
RTSP视频流播放系统
java·git·websocket·网络协议·信息与通信
juelianhuayao1 天前
Git错误提交后如何快速删除本次commit
git
chen<>1 天前
Git原理与应用
大数据·git·elasticsearch·svn
行百里er1 天前
代码跑得慢?让Spring的StopWatch告诉你真相!
java·后端·github
小兔崽子去哪了1 天前
Git 专题
git
金米kk1 天前
git pull时报错Your local changes to the following files would…的解决办法
git