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
branch → commit → gh pr create → gh 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 } } } }'