GitLabしたい(glab

// イシューの確認
$ glab issue list
$ glab issue view issue番号

// ブランチを作成
$ glab issue checkout issue番号

// MRドラフトを作成
$ glab mr create --draft --fill
$ glab mr view --web

glabでGitLabリポジトリを操作できます。 プロジェクトの.git/configから自動でリポジトリを判別して、操作対象にしてくれます。

インストールしたい

$ brew install glab

ログインしたい(glab auth

// ログイン
$ glab auth login

// ログアウト
$ glab auth logout

// 確認
$ glab auth status

はじめて使う場合は、認証が必要です。 GitLabホスト、使用するGitプロトコル(SSH/HTTPS/HTTP)、 認証方法の選択(ウェブブラウザ/PAT)などをターミナル上で対話的に選択します。

設定した内容は~/.config/glab-cli/config.ymlに保存されます。

イシューしたい(glab issue

// イシューを確認
$ glab issue list         # オープンなイシュー覧
$ glab issue list --all   # すべてのイシュー一覧(open/closed)
$ glab issue list --search "SEARCH_WARD"     # キーワード検索
$ glab issue list --label "bug,enhancement"  # ラベル検索

// イシューを表示
$ glab issue view <issue_id>                # イシューの詳細
$ glab issue view <issue_id> --web          # ブラウザで開く
$ glab issue note <issue_id> --message "comment"    # コメントを追加
$ glab issue note <issue_id>                # エディタを開く

// イシューを作成
$ glab issue create    # イシューを作成(interactive)
$ glab issue create --title "title" --description "desc"

// イシューを更新
$ glab issue update <id> --title "new title"
$ glab issue update <id> --description = "new desc"
$ glab issue update <id> --assignee @username
$ glab issue update <id> --label "bug,high"

// イシューの状態管理
$ glab issue close <id>
$ glab issue reopen <id>
$ glab issue delete <id>
$ glab issue subscribe <id>
$ glab issue unsubscribe <id>

glab issueでイシューを操作できます。 さらにサブコマンドを持ち、 listでイシューの一覧を取得し、 view 番号でイシューの詳細を確認できます。 createで新しいイシューを作成できます。

Tip

viewcreate--webオプションでブラウザが開きます。 ターミナルより、ブラウザのほうが確認しやすいと思います。

マージリクエストしたい(glab mr

// MRを確認
$ glab mr list
$ glab mr list --all

// MRの詳細
$ glab mr view <mr_id>
$ glab mr view <mr_id> --web
$ glab mr note <mr_id> --message "comment"

// MRを作成
$ glab mr create
$ glab mr create --title "feat: add feature" --description "Close #123"
$ glab mr create --draft
$ glab mr create --target-branch develop

// MRの状態管理
$ glab mr approve <mr_id>
$ glab mr merge <mr_id>
$ glab close <mr_id>
$ glab reopen <mr_id>
$ glab revoke <mr_id>
$ glab delete <mr_id>
$ glab subscribe <mr_id>
$ glab unsubscribe <mr_id>

glab mrコマンドでマージリクエスト(MR)を操作できます。

glab mrでマージリクエスト(MR)を操作ができます。 さらにサブコマンドを持ち、 listでMRの一覧を取得し、 view 番号でMRの詳細を確認できます。 createで新しいMRを作成できます。

// 作業ブランチに移動
$ git switch ブランチ名
$ glab mr create --draft --fill

git switchで作業ブランチに移動し、glab mr createで新しいMRを作成できます。 --draftオプションでMRドラフトを作成できます。 --fillオプションでコミットメッセージからタイトルと本文を自動入力してくれます。

$ git add ファイル名
$ git commit
$ git fetch origin
$ git merge origin/main  # or git rebase origin/main
$ git push  # or git push -u origin ブランチ名

ローカルにあるリポジトリの操作は、いつも通りgitを使います。

パイプラインしたい(glab ci

$ glab ci status
$ glab ci view --web

glab ciでパイプラインを操作できます。