Git 仓库迁移

说明:

这种方式可以保留原版本库中的所有内容,包括 log 信息

步骤

  1. 从原地址克隆一份裸版本库
$ git clone --bare git://github.com/username/project.git
  • –bare:创建的克隆版本库都不包含工作区,直接就是版本库的内容,这样的版本库称为裸版本库
  1. 到新的Git服务器上创建一个新项目,比如GitCafe
  2. 以镜像推送的方式上传代码到GitCafe服务器上
$ cd project.git
$ git push --mirror git@gitcafe.com/username/newproject.git
  • –mirror:克隆出来的裸版本对上游版本库进行了注册,这样可以在裸版本库中使用gitfetch命令和上游版本库进行持续同步
  1. 删除本地代码
$ cd ..
$ rm -rf project.git
  1. 到新服务器GitCafe上找到Clone地址,直接Clone到本地就可以了
$ git clone git@gitcafe.com/usernmae/newproject.git