Git迁移仓库,保存commit记录
在支持Git的代码托管平台之间迁移仓库,并维护commit历史记录。
一.作用
A将托管平台仓库完全迁移至B托管平台,并保留commit历史记录。
二.场景
将Gitlab上的仓库迁移到GitHub
将编码上的仓库转移到GitHub
把Gitee的仓库转移到GitHub
……
在迁移前后保留commit历史记录。 也就是说,可以在迁移后的新仓库中查询历史提交信息,保留小绿点。
三.步骤
新建仓库
克隆旧仓库
推送新仓库
以下以从Coding迁移到GitHub为例。
A. Git Bash操作
在GitHub上建立新仓库
在GitHub中创建新的同名项目。 别的名字也可以。 请勿添加README.md、License和. gitignore文件。 只需新建一个空仓库。
只需要一个空仓库。
克隆编码上的项目
在本地完全克隆要通过Coding迁移的项目。
本地执行
git clone https://git.coding.net/wenyuan/blog.git-- bare
3 .将克隆的仓库推送到GitHub
克隆完成后,将仓库推送到GitHub。
使用新仓库页面上提供的仓库地址(web URL )推送所有分支和对象
cd blog.git
git push https://github.com/wenyuan/blog.git-- all
4 .完成后,执行所有Tags推送
git push https://github.com/wenyuan/blog.git---- tags
至此,整个仓库转移到了GitHub。 如果这些commit邮箱位于GitHub配置中,您会发现小绿点也一起转移了。
B. TortoiseGit操作
这个简单的操作我不喜欢使用可视化工具,这里也介绍用“乌龟”完成仓库移动的方法。
在GitHub上建立新仓库
同上,不作说明。
克隆编码上的项目
同上,不作说明。
3 .将克隆的仓库推送到GitHub
进入项目文件夹,右键单击- Git Sync…
单击“管理”。
填写GitHub远程仓库信息,添加新/保存,应用,确认。
远程URL选择刚添加的gitHub并推送。
最后提出Tags。
四. git命令的区别
在上向GitHub (新仓库)推送代码时,我们使用了以下命令。
git push https://github.com/wenyuan/blog.git-- all
其实还有一个命令:
git push https://github.com/wenyuan/blog.git---- mirror