保留历史提交记录更换 Git 代码托管平台

有一个项目一直在GitHub上开发,突然被告知要换托管平台,最简单的做法当然是直接拷贝一份代码,重新建个仓库。

但是之前的版本记录就丢失了,下面介绍不需要重建仓库的做法。

方法

  1. 本地克隆一份源仓库的裸版本库。
    $ git clone --bare 源项目.git
    
  2. 在新的托管平台上新建一个空项目。
  3. 将裸版本库以镜像的方式推送到新项目。
    $ git push --mirror 目标项目.git
    

以Github 转移到华为云为例

首先通过 ssh 连接或 http 连接 clone 裸版本库到本地:
保留历史提交记录更换 Git 代码托管平台_第1张图片
进入裸版本库,可以看到版本库都是一些版本控制信息,没有代码:
保留历史提交记录更换 Git 代码托管平台_第2张图片
在华为云创建一个空项目,通过镜像的方式将裸版本库推送到这个空项目:
保留历史提交记录更换 Git 代码托管平台_第3张图片
登录华为云,查看结果:
保留历史提交记录更换 Git 代码托管平台_第4张图片

注意

  1. 源项目和新项目的仓库地址可以直接使用clone的ssh/http地址
  2. 如果使用ssh连接注意配置ssh密钥,确保有权限push才能推送镜像
  3. 推送的时候要 cd 切换到裸版本库文件夹内
  4. 推送镜像之后新项目的文件结构和源项目一模一样,代码也出现了

正文结束,如果觉得有帮助可以点个赞哦。

你可能感兴趣的:(Git,学习笔记)