GITHUB CLI GUIDE
ghコマンドで効率化
ターミナルから
GitHub操作
ブラウザ不要
高速ワークフロー
スクリプトで
自動化可能
→ キーで次へ
ゴール: ghコマンドでブラウザを開かずにGitHub操作を完結させ、開発スピードを上げる
インストールと認証
→ まず使える状態にする
日常的なGitHub作業をターミナルから実行
→ 日常的なGitHub作業をターミナルから実行
CI/CDやリリースもCLIで管理
→ CI/CDやリリースもCLIで管理
エイリアスとAPI操作
→ 自分だけのワークフローを作る
シェルスクリプトに組み込む
→ 完全自動化
ブラウザ操作
gh コマンド
gh は GitHub公式のCLIツール。Issue作成、PR操作、Actions確認、Release公開まで全てターミナルから実行できる。
Mac
brew install gh
Linux (Debian/Ubuntu)
sudo apt install gh
Windows
winget install GitHub.cli
初回だけ必要。GitHubアカウントとCLIを紐付ける。
認証フロー
① GitHub.com
アカウントを選択
② ブラウザ認証
ワンタイムコードを入力
③ CLI紐付け完了
トークン自動保存
The library for web and native user interfaces
About
Operations
Issue Card
ユーザーが商品を検索できる機能
Open Issues
PR Flow
feature/search
#14 検索機能を追加
コードレビュー
Squash and merge
Review Status
Changes requested
バリデーションを追加してください
Approved
LGTM! 検索ロジックが綺麗です
CI/CDの状態をターミナルからリアルタイム監視
Pipeline Status
Build
25s
Test
1m42s
Deploy
running
Recent Runs
Release Card
検索機能追加
What's New
- 検索機能を追加
- パフォーマンス改善
- バグ修正
Assets
毎回入力
エイリアス活用
GitHub REST / GraphQL APIを認証付きで直接呼べる
API Response
Supported APIs
jq filtering
シェルスクリプトやjqと組み合わせて自動化
Automation Pipeline
GitHub APIからデータ取得
データを整形・フィルタリング
自動処理結果を出力
Use Cases
基本操作
| gh auth login | 認証 |
| gh repo create | リポジトリ作成 |
| gh repo clone | クローン |
| gh issue create | Issue作成 |
| gh issue list | Issue一覧 |
| gh pr create | PR作成 |
| gh pr list | PR一覧 |
| gh pr checkout | PRのブランチに切替 |
| gh pr merge | PRをマージ |
応用操作
| gh pr review | PRレビュー |
| gh pr diff | PRの差分確認 |
| gh run list | Actions一覧 |
| gh run watch | 実行をリアルタイム監視 |
| gh release create | リリース作成 |
| gh alias set | ショートカット登録 |
| gh api | APIを直接呼ぶ |
| gh search repos | リポジトリ検索 |
| gh extension | 拡張機能管理 |
まずは gh auth login で認証して、gh pr create から使い始めよう!
| コマンド | 説明 |
|---|---|
| brew install gh | MacにGitHub CLIをインストールする(Homebrew) |
| gh --version | GitHub CLIのバージョンを確認する |
| gh auth login | GitHubアカウントで認証する(初回のみ) |
| gh auth status | 現在の認証状態を確認する |
| gh repo create | 新しいリポジトリを作成する |
| gh repo clone | リポジトリをクローンする |
| gh repo view | リポジトリの情報を表示する |
| gh repo view --web | リポジトリをブラウザで開く |
| gh issue list | Issueの一覧を表示する |
| gh issue create | 新しいIssueを作成する |
| gh issue view <number> | Issueの詳細を表示する |
| gh issue close <number> | Issueをクローズする |
| gh pr create | Pull Requestを作成する |
| gh pr list | Pull Requestの一覧を表示する |
| gh pr checkout <number> | PRのブランチをチェックアウトする |
| gh pr merge | Pull Requestをマージする |
| gh pr diff <number> | PRの差分を表示する |
| gh pr checks <number> | PRのCI/CDチェック結果を表示する |
| gh pr review --approve | PRを承認する |
| gh pr review --request-changes | PRに変更を要求する |
| gh run list | GitHub Actionsの実行一覧を表示する |
| gh run view <id> | 特定のワークフロー実行の詳細を表示する |
| gh run watch | 実行中のワークフローをリアルタイム監視する |
| gh release list | リリースの一覧を表示する |
| gh release create <tag> | 新しいリリースを作成する |
| gh release view --web | リリースをブラウザで開く |
| gh alias set <name> '<cmd>' | コマンドのショートカット(エイリアス)を登録する |
| gh alias list | 登録済みエイリアスの一覧を表示する |
| gh api <endpoint> | GitHub REST APIを認証付きで直接呼び出す |
| gh api graphql -f query='...' | GitHub GraphQL APIを呼び出す |
| gh api ... --jq <expr> | APIレスポンスをjq式でフィルタリングする |
| gh pr list --json ... --jq '...' | PR情報をJSON出力し、jqでパイプ処理する |
| gh search repos | GitHub上のリポジトリを検索する |
| gh extension | GitHub CLIの拡張機能を管理する |