gh はGitHubが公式に提供するCLIツールです。PRの作成・レビュー・マージ、Issueの管理、リポジトリの操作などをブラウザを開かずにターミナルから行えます。
インストール・認証
インストール
brew install gh
認証
gh auth login
ブラウザが開くのでGitHubアカウントでログインします。SSHキーの登録も案内してくれます。
認証状態の確認
gh auth status
リポジトリ操作
クローン
gh repo clone owner/repo-name
git clone と同じですが、SSH/HTTPSを自動で選択してくれます。
リポジトリ情報を見る
gh repo view # ブラウザで開く gh repo view --web
リポジトリを作成する
# カレントディレクトリをGitHubリポジトリとして作成 gh repo create myapp --public # プライベートで作成 gh repo create myapp --private
PR(プルリクエスト)操作
PRを作成する
gh pr create
インタラクティブにタイトル・本文・ベースブランチを入力できます。
gh pr create --title "feat: ユーザー認証を追加" --body "ログイン・ログアウト機能を実装しました。" --base main --reviewer teammate1,teammate2 --label "feature"
PR一覧を見る
gh pr list
絞り込みもできます。
# 自分がレビュアーのPR gh pr list --reviewer @me # ラベルで絞り込み gh pr list --label "feature"
PRの詳細を見る
# カレントブランチのPR gh pr view # PR番号を指定 gh pr view 12 # ブラウザで開く gh pr view 12 --web
PRをチェックアウトする
gh pr checkout 12
ブランチをローカルに取得してチェックアウトします。レビュー時に便利です。
PRをマージする
# スカッシュマージ(マージ後にブランチを削除) gh pr merge 12 --squash --delete-branch # リベースマージ gh pr merge 12 --rebase # マージコミット gh pr merge 12
PRをレビューする
# Approve gh pr review 12 --approve # 変更リクエスト gh pr review 12 --request-changes --body "ここを修正してください" # コメントのみ gh pr review 12 --comment --body "LGTMです"
PRのCIステータスを確認する
gh pr checks 12
All checks were successful ✓ test (ubuntu-latest) 2m30s ✓ lint 45s ✓ build 1m15s
PRをクローズする
gh pr close 12
Issue操作
Issueを作成する
gh issue create
gh issue create --title "ログインページでエラーが発生する" --body "再現手順:..." --label "bug" --assignee @me
Issue一覧を見る
gh issue list # 自分にアサインされたIssue gh issue list --assignee @me # ラベルで絞り込み gh issue list --label "bug"
Issueにコメントする
gh issue comment 8 --body "確認しました。修正中です。"
Issueをクローズ・再オープン
gh issue close 8 gh issue reopen 8
GitHub Actionsの操作
実行履歴を見る
gh run list # 特定のワークフローに絞る gh run list --workflow ci.yml
実行をリアルタイムで監視する
gh run watch
失敗した実行のログを見る
gh run view 1234567890 --log-failed
ワークフローを手動実行する
gh workflow run ci.yml # ブランチを指定 gh workflow run ci.yml --ref feature-branch
よく使う流れ
PRを作成してマージするまで
# ブランチを切って作業・コミット git checkout -b feature/add-login # PRを作成 gh pr create --title "feat: ログイン機能を追加" --body "..." --base main # CIを確認 gh pr checks # レビュー後にマージ gh pr merge --squash --delete-branch
まとめ
| コマンド | 説明 |
|---|---|
gh pr create |
PRを作成する |
gh pr list |
PR一覧を表示 |
gh pr view |
PRの詳細を表示 |
gh pr checkout 12 |
PRのブランチをチェックアウト |
gh pr merge 12 --squash |
PRをスカッシュマージ |
gh pr review 12 --approve |
PRをApprove |
gh pr checks 12 |
CIステータスを確認 |
gh issue create |
Issueを作成 |
gh issue list |
Issue一覧を表示 |
gh issue close 8 |
Issueをクローズ |
gh run list |
Actionsの実行履歴を表示 |
gh run watch |
Actionsの実行をリアルタイムで監視 |
GitHub Secretsの管理は gh secret コマンドで行えます。詳しくは「GitHub ActionsのシークレットをCLIで登録する:gh secret コマンド入門」を参照してください。