fbpx

GitHubのリポジトリをGitLabへインポートする #GitLab #movingtogitlab

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

GitLab とは

GitLab は、ソースコード管理を中心に開発サイクルの全体(チャット、問題、コードレビュー、CI、CD、サイクルアナリティクス)を統一した UI で提供するプロダクトです。
一般的に GitLab というと GitHub クローンという印象が濃いですが、オープンソースで精力的な開発が行われていて、現在は GitHub で利用できる機能はほぼ GitLab でも利用できます。

 

GitHub と GitLab での用語の違いについて

GitHub と GitLab では、同等の機能であってもその用語が異なっている場合があります。
このことは、 GitLab を使いはじめる、 GitHub ユーザーを困惑させます。
以下は、 GitHub と GitLab で用語が異なる、代表的な例です。

GitHub GitLab
Repository Project
Pull request Merge request
Organization Group
Gist Snippet
Project Board

 
 

GitLab.com について

簡単に説明すると、GitLab.com は SaaS 版の GitLab です。
GitLab はオンプレミスにセルフホスティングして利用するイメージが強いですが、クラウドサービスの GitLab.com も提供されています。
GitLab.com にはいくつかのプランが用意されていますが、基本機能は無料の Free プランで利用することができます。
また、Free プランであっても public プロジェクトであれば、最上位の Gold  プランと同等の機能を利用することができます。
以下は、GitLab.com のすべてのプランに共通する特徴です。

  • プライベートプロジェクト数の制限なし
  • コラボレーター数の制限なし
  • CIパイプラインを無料で利用可能(プランにより実行時間の上限が異なる)

Free プランと上位プランの違いの詳細は、公式サイトを参照してください。

 
 

リポジトリのインポート機能について

GitLab には、外部の Git リポジトリをインポートする機能があり、簡単なステップでリポジトリを移行できます。
GitHub、Bitbucket、Google Code、Fogbugz、Gitea、リポジトリ URL に対応しています。
このインポート機能を利用すると、リポジトリ以外にも様々なデータを簡単にインポートすることができます。
例えば、GitHub のインポート機能では次のデータがインポートされます。

  • Repository description
  • Git repository data
  • Issue
  • Pull request
  • Wiki page
  • Milestone
  • Label
  • Release note descriptions
  • Pull requestのレビューコメント
  • IssueおよびPull requestの通常コメント

インポートした Issue と Pull request への参照は保持されます。
また、インポートしたリポジトリの可視性は private となるので、必要に応じて public に変更してください。

なお、リポジトリのインポートは、セルフホスティングしている場合でも、クラウドサービスを利用している場合でも利用できますが、本記事ではクラウドサービスを利用している場合のインポート方法を紹介します。

 
 

GitLab.com の利用を開始する

リポジトリをインポートするには、まず GitLab.com の利用を開始する必要があります。
そのために、通常は GitLab.com のトップページの https://gitlab.com へアクセスすると思いますが、ログインがしていない状態ではコーポレートサイトの https://about.gitlab.com へリダイレクトされてしまいます。
ここから GitLab.com の「サインイン/ユーザー登録」に進むには、画面右上の「Sign In/Register」をクリックしてください。

 

about gitlab.com


 
 

ちなみに、 GitLab は GitHub アカウントでのサインインにも対応しています。 GitHub アカウントでサインインするには、サインイン画面の GitHub のアイコンをクリックしてください。

 

sign in with github


 
 

GitHub アカウントを使用せずに、GitLab アカウントを作成したい場合はサインイン画面の「Register」タブをクリックしユーザー登録を行ってください。
ユーザー登録後、しばらく待つと登録したアドレスにメール届くので、メール内にあるリンクをクリックしてアカウントを有効化してください。

 

register gitlab


 
 

また、初回サインインの時だけサービス利用規約への同意が求められます。リンク先の利用規約を確認の上、問題がなければ「Accept terms」をクリックしてください。

 

gitlab terms of service


 
 

GitHub のリポジトリをインポートする

GitHub のリポジトリを GitLab にインポートするには、まず画面上部の「New project」をクリックします。

 

new project menu


 
 

続いて、プロジェクトの作成画面の「Import project」タブ -> 「GitHub」をクリックします。

 

new project import project


 
 

GitHub のリポジトリを GitLab にインポートするには、 GitHub のリポジトリを GitLab から取得することを許可する必要があります。
そのため、「List your GitHub repositories」をクリックし、 GitLab が GitHub のリポジトリにアクセスすることを許可してください。

 

import repositories from github


 
 

GitHub のリポジトリへのアクセスを許可すると、インポートできるリポジトリの一覧が表示されます。
すべてのリポジトリを一括でインポートする場合は、「(1)Import all repositories」をクリックしてください。
特定のリポジトリのみをインポートする場合は、対象リポジトリの「(2)Import」をクリックしてください。

 

import repositories from github


 
 

サーバーの混雑状況によっては、インポート処理が完了するまでに数時間かかる場合があるので、処理が完了するまで気長に待ちましょう。
インポートが完了したら、 Git repository data や Issue などの必要なデータが正しくインポートされていることを確認しておきましょう。

なお、インポート元の GitHub のリポジトリが Public の場合でも、インポートされた GitLab のプロジェクトはすべて Private となります。
もしインポートしたプロジェクトをメンバー以外にも公開したい場合は、「Settings -> General -> Permissions -> Project visibility」を Public に変更してください。

 
 

general settings permissions project visibility.png


 
 
 

最後に

今回、 GitHub のリポジトリをクラウドサービスの GitLab.com にインポートする方法を紹介しましたが、もちろん、セルフホスティングしている GitLab インスタンスにも同じようにインポートすることが可能です。
GitHub のリポジトリを GitLab にインポートするのはとても簡単なので、普段は GitHub を使っているけど GitLab にも興味があるという方は、とりあえず試してみてはいかがでしょうか?

また、クリエーションラインは、日本で唯一の GitLab Authorized Reseller としてエンタープライズエディションのサブスクリプションの販売や日本語でのサポートを提供しています。

 
 

GitLab に関する詳細・お問い合わせはこちらを参照ください。

新規CTA