【Git】GitLabコマンドチートシート‐シチュエーション編 - j-komatsu/myCheatSheet GitHub Wiki

GitLab チートシート-シチュエーション編

GitHub と GitLab の違いと特徴

GitHub と GitLab はどちらもリポジトリ管理ツールとして広く使用されていますが、それぞれ異なる特徴があります。

GitHub の特徴

  • オープンソースプロジェクトのホスティングに最適
    • 世界中の開発者が利用しており、公開リポジトリが多い。
  • GitHub Actions
    • 強力な CI/CD 機能を提供。
  • 直感的な UI
    • 初心者にも使いやすいインターフェース。
  • 無料プランではプライベートリポジトリに制限あり(一定数まで)。

GitLab の特徴

  • セルフホスティングが可能
    • 自社サーバーにインストールして運用できる。
  • GitLab CI/CD
    • 組み込みのパイプライン管理機能が強力。
  • 包括的な権限管理
    • 柔軟なアクセス制御が可能。
  • 無料プランでも多くの機能が利用可能(プライベートリポジトリを含む)。

Gitコマンドの共通点

GitHub と GitLab の違いがあっても、Git の基本コマンド(clone, commit, push, pull など)は同じです。どちらのプラットフォームでも以下の操作は同じように行えます。

  • リポジトリのクローン: git clone <URL>
  • コミットの作成: git commit -m "メッセージ"
  • プッシュ操作: git push origin <ブランチ名>

プルリクエストとマージリクエスト

GitHub では「プルリクエスト (Pull Request)」、GitLab では「マージリクエスト (Merge Request)」と呼ばれますが、基本的な流れは同じです。

  1. 新しいブランチを作成して変更を加える。
  2. 変更内容をコミットし、リモートリポジトリにプッシュ。
  3. プルリクエスト/マージリクエストを作成し、レビューを依頼。
  4. レビュー後にリクエストをマージする。

GitLab では、UI の操作性が GitHub とは異なりますが、基本的なワークフローに大きな違いはありません。

GitLab は特にエンタープライズ環境やセルフホスティングを求める企業に適しており、一方で GitHub はオープンソース開発や個人プロジェクトに向いています。


1. リポジトリ操作

リモートリポジトリのクローン

git clone <リポジトリURL>
  • HTTPS:
    git clone https://gitlab.com/<ユーザー名>/<リポジトリ名>.git
    
  • SSH:
    git clone [email protected]:<ユーザー名>/<リポジトリ名>.git
    

リモートリポジトリの追加

git remote add origin <リポジトリURL>
  • 例: git remote add origin https://gitlab.com/<ユーザー名>/<リポジトリ名>.git

リモートリポジトリの変更

git remote set-url origin <新しいリポジトリURL>

リモートリポジトリの確認

git remote -v

2. ブランチ管理

ブランチの作成と切り替え

git checkout -b <ブランチ名>

既存ブランチへの切り替え

git checkout <ブランチ名>

ブランチ一覧の表示

git branch -a
  • ローカルブランチのみ表示: git branch
  • リモートブランチも含めて表示: git branch -r

ブランチの削除

  • ローカル:
    git branch -d <ブランチ名>
    
  • リモート:
    git push origin --delete <ブランチ名>
    

3. マージリクエスト (Merge Request, MR)

GitLab UI 上での MR 作成

  1. リポジトリページMerge RequestsNew Merge Request
  2. ソースブランチとターゲットブランチを選択
  3. 必要に応じてタイトル、説明を記入し Create Merge Request をクリック

CLI からの MR 作成

GitLab CLI (glab) を使用する場合:

glab mr create -t "MR タイトル" -d "MR の説明" -s <ソースブランチ> -t <ターゲットブランチ>

4. タグ管理

タグの作成

git tag <タグ名>
  • 例: git tag v1.0.0

タグのプッシュ

git push origin <タグ名>
  • 全てのタグをプッシュする場合:
    git push origin --tags
    

タグの削除

  • ローカル:
    git tag -d <タグ名>
    
  • リモート:
    git push origin --delete <タグ名>
    

5. GitLab CI/CD 操作

.gitlab-ci.yml の設定例

stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  script:
    - echo "Buildステージ実行中"

test_job:
  stage: test
  script:
    - echo "Testステージ実行中"

deploy_job:
  stage: deploy
  script:
    - echo "Deployステージ実行中"

パイプラインの手動トリガー

  1. GitLab UICI/CDPipelinesRun Pipeline をクリック
  2. 必要に応じて変数を設定し実行

パイプラインステータスの確認

glab pipeline ci-status

6. トラブルシューティング

パイプラインエラーのデバッグ

  1. GitLab UICI/CDJobs をクリック
  2. 該当ジョブを選択しログを確認

SSH キーの登録

  1. ローカルで SSH キーを生成:
    ssh-keygen -t rsa -b 4096 -C "[email protected]"
    
  2. 公開キーを GitLab に登録: GitLab UIUser SettingsSSH Keys → 公開キーを貼り付け → Add Key

7. 便利機能

Issue 作成

  1. GitLab UIIssuesNew Issue をクリック
  2. タイトルや説明を記入し Submit Issue

Wiki 編集

  1. GitLab UIWikiEdit をクリック
  2. Markdown 記法で内容を編集

⚠️ **GitHub.com Fallback** ⚠️