0%

一种跨平台的迁移 Git服务器数据到新服务器的笨办法

我们可能会在特定情况下,需要将公司 Git 版本库进行迁移。 这里不讨论公司的 Git 服务器是gitlab 、gitblit 或是balabala……

不同框架有不同的迁移方式。您可能有更好的迁移版本库的方法,这里只是提供一总迁移的方法,不用折腾,简单,也是最笨的方法。

这种迁移方式是跨平台的

前言

本文举例围绕将 http://192.168.0.1/project_a.git 迁移至 http://192.168.0.2/projcet_a_new.git 上。 实际操作中请替换为您的服务器地址及项目名称

Let`s Go

  1. 本地新建文件夹server_code (名称任意, 主要用来clone 服务器代码到本地

  2. server_code 中 clone project_a

    1
    2
    3
    # 请用命令行操作
    git clone --bare http://192.168.0.1/project_a.git
    # 注意,下载后的文件夹是 `project_a.git` 文件夹
  3. 新 Git 服务器,新建同名或不同名的项目。并复制地址

    本示例为:http://192.168.0.2/project_a_new.git

  4. 命令行 CD 进入 project_a.git 目录

    1
    2
    3
    4
    5
    $ pwd
    $ /Users/alexliu/tmp/server_code
    $ cd project_a.git
    $ pwd
    $ /Users/alexliu/tmp/server_code/project_a.git
  5. 推送项目

    1
    2
    # 推送
    git push --mirror http://192.168.0.2/project_a_new.git

OK, 这样项目所有的提交记录、分支、tags、release 版本都提交了到新的版本库了