如何迁移git仓库

如果你想从别的git托管服务哪里复制一份源代码到新的Git托管服务器上,可以使用
git clone --mirror / git clone --baregit push --mirror命令。

普通 git clone 不能下载所有分支,想要简单的克隆所有分支,可以用镜像方法。

做一个镜像仓库

只需3步:

  1. 从原地址克隆一份裸版本库(假设在github):

    1
    2
    3
    git clone --bare git://github.com/username/project.git
    or
    git clone --mirror git://github.com/username/project.git

    这两种方式都只是将裸仓库克隆下来,不会在本地生成目录结构。

  2. 在新的服务器上创建一个新项目。例如new-peoject。

  3. 以镜像推送的方式上传到新的git服务器上(假设在gitlab):

    1
    2
    cd prioject.git
    git push --mirror git@gitlab.com/username/new-priject.git

done!

这种方式可以保留原版本远程仓库中的所有内容。