如何使用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
相关推荐
编程修仙3 小时前
github的使用
github
白驹过隙^^4 小时前
OB-USP-AGENT安装使用方法
数据库·经验分享·网络协议·tcp/ip·github·ssl
xlp666hub5 小时前
手写 Linux 并发服务器,fork, pthread与 epoll 模型实战(包含深层原理剖析)
github·c
sylvia_08156 小时前
git add 后pull 放弃本地所有修改
git
五阿哥永琪6 小时前
Git 开发常用命令速查手册
大数据·git·elasticsearch
火车叼位7 小时前
小白也能学会:AI分离人声 + FFmpeg替换音轨全流程
github
程序媛Dev7 小时前
平台工程新范式:我扔掉了本地环境,开发体验直接起飞。
github
柒壹漆7 小时前
用Python制作一个USB Hid设备数据收发测试工具
开发语言·git·python
逛逛GitHub7 小时前
这个 GitHub 神器让 Gemini 写的网站 3 秒上线,累计部署 67 万个网站。
github
GZKPeng8 小时前
github 新版本网页如何对repository管理人员
github