Wakaran

分からんことが多すぎるので備忘録 どこかのだれかの役に立ったらいいですね

記事検索

← 一覧に戻る

2026/4/24github

ghコマンドの覚書


別に使わなくてもいい

githubの画面から操作すればいいからね。ただCLIで動くAI使うときに便利なので。
何ができるかくらいは知っといて損ないと思います。

gh コマンド覚書

GitHub CLI。PR・Issue・Actions などをターミナルから操作できる。


auth — 認証・アカウント管理

# ログイン(ブラウザ経由)
gh auth login

# 現在の認証状態を確認(全アカウント表示)
gh auth status

# ログアウト
gh auth logout

auth — 複数アカウントの切り替え(gh 2.40.0+)

# 2つ目のアカウントを追加ログイン(既存アカウントはそのまま残る)
gh auth login

# ログイン中のアカウント一覧を確認
gh auth status

# アカウントを切り替え(対話的に選択)
gh auth switch

# ユーザー名を指定して切り替え
gh auth switch -u mysubaccount

# ホスト(GitHub Enterprise など)を指定して切り替え
gh auth switch -h github.mycompany.com

コマンド単発で別アカウントを使いたい場合 環境変数 GH_TOKEN にトークンをセットするとそのコマンドだけ別アカウントで実行できる。

GH_TOKEN=ghp_xxxxxxxxxxxx gh pr list

GitHub Enterprise と github.com を併用する場合

gh auth login --hostname github.mycompany.com
gh auth switch -h github.mycompany.com

repo — リポジトリ管理

# リポジトリを作成(対話的)
gh repo create

# リポジトリを作成(名前・公開範囲を指定)
gh repo create my-project --public
gh repo create my-project --private

# リポジトリをクローン
gh repo clone user/my-project

# 自分のリポジトリ一覧
gh repo list

# 他のユーザーのリポジトリ一覧
gh repo list other-user

# リポジトリをフォーク
gh repo fork user/my-project

# フォークしてそのままクローン
gh repo fork user/my-project --clone

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

# リポジトリ情報をターミナルで表示
gh repo view user/my-project

pr — Pull Request 管理

# PR を作成(対話的)
gh pr create

# タイトル・本文を指定して作成
gh pr create --title "feat: ログイン機能を追加" --body "ログイン画面を実装しました"

# ドラフト PR を作成
gh pr create --draft --title "WIP: ログイン機能"

# ベースブランチを指定して作成
gh pr create --base develop --title "feat: ログイン機能"

# PR 一覧
gh pr list

# 自分がレビュアーになっている PR 一覧
gh pr list --reviewer @me

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

# PR をブラウザで開く
gh pr view 123 --web

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

# PR の差分を確認
gh pr diff 123

# PR をマージ(マージコミット)
gh pr merge 123

# PR をマージ(スカッシュ)
gh pr merge 123 --squash

# PR をマージ(リベース)
gh pr merge 123 --rebase

# PR を承認
gh pr review 123 --approve

# PR にコメントを追加
gh pr review 123 --comment --body "LGTM!"

# PR に変更リクエスト
gh pr review 123 --request-changes --body "ここを修正してください"

# PR をクローズ
gh pr close 123

# 自分に関係する PR の状態を確認
gh pr status

issue — Issue 管理

# Issue を作成(対話的)
gh issue create

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

# ラベルを付けて作成
gh issue create --title "バグ: ログインできない" --label bug --label urgent

# Issue 一覧
gh issue list

# 自分にアサインされた Issue 一覧
gh issue list --assignee @me

# ラベルで絞り込み
gh issue list --label bug

# Issue の詳細を表示
gh issue view 456

# Issue をブラウザで開く
gh issue view 456 --web

# Issue にコメント
gh issue comment 456 --body "確認しました"

# Issue をクローズ
gh issue close 456

# Issue を再オープン
gh issue reopen 456

# 自分に関係する Issue の状態を確認
gh issue status

workflow / run — GitHub Actions 管理

# ワークフロー一覧
gh workflow list

# ワークフローを手動実行
gh workflow run ci.yml

# ブランチを指定して手動実行
gh workflow run ci.yml --ref feature/login

# 実行履歴一覧
gh run list

# 特定ワークフローの実行履歴
gh run list --workflow ci.yml

# 実行の詳細を表示
gh run view 789

# 実行をリアルタイムで監視
gh run watch 789

# 失敗した実行のログを確認
gh run view 789 --log-failed

# 実行をキャンセル
gh run cancel 789

# 実行を再実行
gh run rerun 789

# 失敗したジョブだけ再実行
gh run rerun 789 --failed

release — リリース管理

# リリース一覧
gh release list

# リリースを作成(対話的)
gh release create v1.0.0

# タイトル・ノートを指定して作成
gh release create v1.0.0 --title "v1.0.0" --notes "初回リリース"

# ドラフトリリースを作成
gh release create v1.0.0 --draft --title "v1.0.0"

# ファイルをアセットとして添付して作成
gh release create v1.0.0 dist/app.zip --title "v1.0.0"

# リリースの詳細を表示
gh release view v1.0.0

# 既存リリースにアセットを追加
gh release upload v1.0.0 dist/app.zip

# リリースを削除
gh release delete v1.0.0

gist — Gist 管理

# ファイルから Gist を作成(公開)
gh gist create src/index.ts

# 説明を付けて作成
gh gist create src/index.ts --desc "便利なユーティリティ"

# シークレット Gist を作成
gh gist create src/index.ts --secret

# Gist 一覧
gh gist list

# Gist の内容を表示
gh gist view <gist-id>

# Gist をブラウザで開く
gh gist view <gist-id> --web

search — 検索

# リポジトリを検索
gh search repos "react hooks"

# Issue を検索
gh search issues "ログインできない" --repo user/my-project

# PR を検索
gh search prs "feat: ログイン" --repo user/my-project

# コードを検索
gh search code "useState" --language typescript

よく使うフロー

PR を出してマージするまで

git switch -c feature/login
# ... 実装 ...
git add .
git commit -m "feat: ログイン機能を追加"
git push -u origin feature/login
gh pr create --title "feat: ログイン機能を追加" --body "ログイン画面を実装しました"
gh pr view --web                     # ブラウザで確認
gh pr merge 123 --squash             # スカッシュしてマージ

レビュー依頼された PR を確認してマージ

gh pr list --reviewer @me            # 自分がレビュアーの PR を確認
gh pr checkout 123                   # ローカルで動作確認
gh pr review 123 --approve           # 承認
gh pr merge 123 --squash

Actions が失敗したときに確認

gh run list --workflow ci.yml        # 実行履歴を確認
gh run view 789 --log-failed         # 失敗ログを確認
gh run rerun 789 --failed            # 失敗ジョブだけ再実行

作業中に別アカウントに切り替えたい

gh auth status                       # 現在のアカウントを確認
gh auth switch -u mysubaccount       # 別アカウントに切り替え
# ... 作業 ...
gh auth switch -u mymainaccount      # 元のアカウントに戻す

あとがき

PRのレビュアーになった時とか割と便利かも。
まぁでもAIに使ってもらうシーンのほうが多い気がする。
CLIは便利だけど覚えられん。

シェア