如何使用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
相关推荐
电化学仪器白超17 分钟前
小乌龟Git全程图形化操作指南:嵌入式本地版本管理与Gitee私有云备份实战
git·python·单片机·嵌入式硬件·物联网·gitee·自动化
起个名字总是说已存在3 小时前
github开源AI技能:Awesome DESIGN.md让页面设计无限可能
人工智能·开源·github
K3v4 小时前
【git】删除本地以及远端已经合并到master的分支
大数据·git·elasticsearch
zhensherlock4 小时前
Protocol Launcher 系列:Overcast 一键订阅播客
前端·javascript·typescript·node.js·自动化·github·js
第一程序员5 小时前
Python数据结构与算法:非科班转码者的学习指南
python·github
SUNNY_SHUN5 小时前
清华团队提出TFA-Net,用模板特征聚合破解工业异常检测中的“捷径学习“难题
人工智能·学习·视觉检测·github
CeshirenTester5 小时前
GitHub变了:私有仓库也要“喂AI”?开发者该怎么应对
人工智能·github
云攀登者-望正茂8 小时前
将 develop 分支拉取到特性分支时解决合并污染问题
git
金銀銅鐵10 小时前
[git] 如何找到已经“丢失”的 commit?
git·后端