無料で Private Repository を使うために GitHub から GitLab へ移行した

無料で Private Repository を使いたくなったので GitHub から GitLab へ移行しました。

GitLab | ギットラボ

(前提条件) GitLab なら無料で Private Repository を使える

GitHub は Private Repository を利用するのは有料ですが、GitLab なら無料で Private Repository をできて、かつ、コラボレーター数をどれだけ追加しても無料です。無制限です。最高です。

詳しくは以下の比較記事を参照してください。

Import repositories from GitHub 機能は使えなかった

GitLab には Import repositories from GitHub という機能がちゃんと用意されてはいます。

https://gitlab.com/import/github/status

Import repositories from GitHub | GitLab

しかし、使ってみるとなぜか An error occurred while importing project: Error: Request failed with status code 422 というエラーが出て動きませんでした。

Error Message | Import repositories from GitHub | GitLab

新規プロジェクト作成 & 既存 git repo を push

GitLab に Import repositories from GitHub 機能が使えないので、

  1. GitLab で Blank project を作る
  2. Existing Git repository の git remote 変更, git push

という流れで移行作業をおこないました。

GitLab で Blank project を作る

New project https://gitlab.com/projects/new から Blank project を Create project します。

git remote 変更, branch tag を push

今まで remote origin が GitHub だったのを GitLab へ変更します。

Create project 直後の https://gitlab.com/your-group-name/your-project-name に以下のような移行スクリプトが載っているので、これ通りに実行します。

Existing Git repository

cd existing_repo
git remote rename origin old-origin
git remote add origin git@gitlab.com:your-group-name/your-project-name.git
git push -u origin --all
git push -u origin --tags

以上、Private Repository を無料で使うために GitHub から GitLab へ移行した現場からお送りしました。