GitHub CLI

gh コマンドで
GitHub 操作をターミナル完結

GitHub CLI (gh) を使えば、Issue・PR・リポジトリ操作をブラウザなしで実行できます。 Git Flow との組み合わせで開発フローがさらに加速します。

// 01 What is gh CLI

gh CLI とは

ターミナル完結

PR 作成・Issue 管理・リポジトリ操作をすべてコマンドラインから実行。ブラウザとの行き来が不要に。

Git Flow と相性抜群

feature ブランチから直接 PR を作成し、レビュー依頼・マージまでターミナルで完結できる。

🔧

スクリプト連携

JSON 出力やテンプレートを活用してシェルスクリプト・CI と連携。自動化の幅が広がる。

// 02 Setup

インストールと認証

1

インストール

お使いの OS に合わせてインストールします。

terminal
# macOS
brew install gh

# Windows (winget)
winget install --id GitHub.cli

# Ubuntu / Debian
sudo apt install gh
2

認証

GitHub アカウントと連携します。対話形式で HTTPS / SSH を選択できます。

terminal
gh auth login
# ブラウザが開き、認証コードを入力

# 認証状態の確認
gh auth status
// 03 Repository

リポジトリ操作

作成・クローン・表示

リポジトリの基本操作をターミナルから実行できます。

terminal
# 新規リポジトリ作成
gh repo create my-app --public --clone

# リポジトリをクローン
gh repo clone owner/repo

# ブラウザでリポジトリを開く
gh repo view --web

# リポジトリ情報を表示
gh repo view

フォーク

OSS へのコントリビューション時に便利です。

terminal
# フォークして clone
gh repo fork owner/repo --clone
// 04 Issues

Issue 操作

作成・一覧・表示

terminal
# Issue を作成(対話形式)
gh issue create

# タイトル・本文を指定して作成
gh issue create --title "バグ: ログインできない" \
  --body "再現手順: ..." \
  --label "bug" \
  --assignee "@me"

# Issue 一覧を表示
gh issue list
gh issue list --label "bug" --state open

# 特定の Issue を表示
gh issue view 42

クローズ・コメント

terminal
# Issue をクローズ
gh issue close 42

# コメントを追加
gh issue comment 42 --body "修正しました"
// 05 Pull Requests

Pull Request 操作

PR を作成する

feature ブランチから PR を作成する基本フローです。

terminal
# 対話形式で PR 作成
gh pr create

# オプション指定で作成
gh pr create --title "feat: ユーザー検索を追加" \
  --body "## 概要
検索機能を実装しました" \
  --base develop \
  --reviewer teammate

# Draft PR として作成
gh pr create --draft

レビュー・確認

terminal
# PR 一覧
gh pr list

# PR の詳細を表示
gh pr view 123

# PR の diff を確認
gh pr diff 123

# PR のブランチをローカルにチェックアウト
gh pr checkout 123

# CI のステータスを確認
gh pr checks 123

マージ

terminal
# マージ(対話形式でマージ方法を選択)
gh pr merge 123

# Squash マージ
gh pr merge 123 --squash

# マージ後にブランチを削除
gh pr merge 123 --squash --delete-branch
// 06 gh + Git Flow

Git Flow での実践ワークフロー

gh コマンドを Git Flow と組み合わせた、ターミナル完結の開発フローです。

1

feature ブランチを作成

terminal
git checkout develop
git checkout -b feature/search
2

開発・コミット・プッシュ

terminal
# 開発作業...
git add -A
git commit -m "feat: 検索機能を実装"
git push -u origin feature/search
3

gh で PR を作成

terminal
gh pr create --base develop \
  --title "feat: ユーザー検索を追加" \
  --reviewer teammate
4

レビュー確認 & マージ

terminal
# CI チェック待ち
gh pr checks

# approve されたらマージ
gh pr merge --squash --delete-branch

gh + Git Flow Lifecycle

branchcommitgh pr creategh pr merge
                         |
                    gh pr checks
// 07 Tips

便利 Tips

エイリアスで高速化

gh にもエイリアス機能があります。よく使うコマンドを短縮しましょう。

terminal
gh alias set prc 'pr create --base develop'
gh alias set prm 'pr merge --squash --delete-branch'
gh alias set prv 'pr view --web'

# 使い方
gh prc   # develop 向けの PR を即作成
gh prm   # squash マージ & ブランチ削除

JSON 出力でスクリプト連携

--json フラグでマシンリーダブルな出力が得られます。

terminal
# 自分の PR を JSON で取得
gh pr list --author "@me" --json number,title,state

# jq と組み合わせてフィルタリング
gh pr list --json number,title --jq '.[] | "\(.number): \(.title)"'

gh api で REST / GraphQL を直接叩く

gh の認証情報をそのまま使って GitHub API にアクセスできます。

terminal
# REST API: PR のコメントを取得
gh api repos/owner/repo/pulls/123/comments

# GraphQL: 自分のリポジトリ一覧
gh api graphql -f query='{ viewer { repositories(first:5) { nodes { name } } } }'