Git保留提交记录的仓库迁移


0x01 背景

因为可能存在的各种原因,有时我们需要对Git代码仓库进行迁移。如何原封不动的迁移呢?这就是本文要解决的问题。

0x02 操作步骤

1. 从原仓库地址clone一份裸版本库

$ git clone --bare git://git_old.xxx.com/project_old.git

--bare :创建的克隆版本库都不包含工作区,直接就是版本库的内容,这样的版本库就称为裸版本库

2. 创建一个新的项目仓库

3. 以镜像推送的方式上传代码到新的仓库

$ cd project_old.git
$ git push --mirror git://git_new.xxx.com/project_new.git

--mirror :克隆出来的裸版本对上游版本库进行了注册,这样可以在裸版本库中使用git fetch命令和上游版本库进行持续同步

4. 删除本地旧代码

$ cd ..
$ rm -rf project_old.git

5. 从新仓库地址clone签出代码

$ git clone git://git_new.xxx.com/project_new.git

搞定!现在代码保留了原版本库中的所有内容及提交记录。

声明:PowerMatz | 版权所有,违者必究 | 如未注明,均为原创 | 本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Git保留提交记录的仓库迁移


Stay hungry. Stay foolish.