生成AI研修
Part 2: 開発ツール基礎

Chapter 10: GitLab との違い

GitHub と GitLab の比較と使い分け

Chapter 10: GitLab との違い

10.1 GitHub vs GitLab 比較

GitHub と GitLab はどちらも Git リポジトリをホスティングするサービスですが、それぞれ異なる強みを持っています。現場では両方に遭遇することがあるため、違いを理解しておきましょう。

基本比較

項目GitHubGitLab
運営Microsoft傘下GitLab Inc.
設立2008年2011年
特徴最大規模のOSSコミュニティ統合DevOpsプラットフォーム
無料プランパブリック・プライベート両方パブリック・プライベート両方
セルフホスト要有料プラン(GitHub Enterprise)無料のCommunity Editionあり
CI/CDGitHub ActionsGitLab CI/CD(組み込み)
Issue管理Issues + ProjectsIssues + Boards
コードレビューPull RequestMerge Request

セルフホストの重要性

GitLabが企業で広く使われる最大の理由のひとつがセルフホスト対応です。

金融・医療・官公庁など社外にコードを出せない業種では、社内サーバーで GitLab を運用するケースが非常に多いです。

10.2 GitLab の基本操作

GitLabの基本操作はGitHubと非常に似ています。ここでは主な違いに絞って説明します。

プロジェクトの作成

  1. GitLab にログイン(gitlab.com または社内URL)
  2. 「New project」をクリック
  3. プロジェクト名・公開設定を選択
  4. 「Create project」をクリック

リモートとの接続

GitLabでの操作は GitHub と同様です。URLが gitlab.com になるだけです。

# GitLab のリモートを追加
git remote add origin git@gitlab.com:yamada/my-project.git

# プッシュ
git push -u origin main

GitLab の独自機能

GitLabはCI/CDが最初から組み込まれており、.gitlab-ci.yml というファイルを追加するだけで自動テスト・デプロイが設定できます。

# .gitlab-ci.yml の例
stages:
  - test
  - deploy

run-tests:
  stage: test
  script:
    - npm install
    - npm test

deploy-production:
  stage: deploy
  script:
    - echo "デプロイ実行"
  only:
    - main

10.3 Merge Request(GitLab 版の PR)

GitLab では Pull Request のことを Merge Request(MR) と呼びます。機能はほぼ同じです。

MR の作成

# ブランチを作成して作業
git checkout -b feature/user-profile
git add .
git commit -m "ユーザープロフィール機能を追加"
git push origin feature/user-profile

GitLabにアクセスすると「Create merge request」ボタンが表示されます。

GitHub PR と GitLab MR の比較

機能GitHub PRGitLab MR
作成GitHub Web UIGitLab Web UI
レビュー依頼ReviewersReviewers
承認機能ApproveApprove(必要承認数を設定可)
自動マージAuto-mergeAuto-merge
CI 結果表示Actions 結果パイプライン結果
ドラフトDraft PRDraft MR

GitLabでは承認者数の最小値をプロジェクト設定で強制できます(例: 必ず2人以上が承認しないとマージできない)。厳格なレビュープロセスが求められる企業でよく使われます。

10.4 組織での使い分け

実際の現場では、以下の傾向があります。

現場でよくある構成

スタートアップ・Web企業: GitHub が多い

  • OSSエコシステムとの連携
  • GitHub Copilot による AI コーディング支援
  • GitHub Actions での豊富なマーケットプレイス

大企業・金融・官公庁: GitLab セルフホストが多い

  • 社内ネットワーク内で完結
  • コンプライアンス対応
  • 統合 DevOps プラットフォームとして使う

どちらを学べばいい?

まずは GitHub を学ぶことをおすすめします。

理由:

  1. GitHubの方が学習リソース(記事・動画・書籍)が豊富
  2. OSSのほとんどがGitHubにある
  3. 操作を覚えれば GitLab にも応用が効く

GitLabの操作はGitHubとほぼ同じです。GitHubをしっかり習得すれば、GitLabも問題なく使えます。

まとめ

項目GitHubGitLab
主な用途OSS・スタートアップ企業・セルフホスト
PRの呼び名Pull Request (PR)Merge Request (MR)
CI/CDGitHub ActionsGitLab CI/CD(組み込み)
無料セルフホスト不可(Enterprise要)可能(CE版)
まず学ぶならこちらGitHubの次に

次のステップ: ブランチ運用 で実践的なチーム開発ワークフローを学びます。

On this page