ブラウザの往復をゼロにする。GitHub CLI(gh)のエイリアスと拡張で組む毎日のルーティン自動化
目次
開閉
コードを書き終えてブランチをプッシュした後、皆さんはどのような手順でPull Request(PR)を作成しているでしょうか。
「ブラウザを開いてリポジトリへアクセスし、黄色い帯に出たボタンを押して、PRテンプレートを埋めてレビュアーを指定する」——多くの開発現場で当たり前のように繰り返されている光景です。
しかし、この「ブラウザを開く」という何気ないアクションには、エンジニアの集中力を削ぐ見えない罠が潜んでいます。
- GitHubの通知ベルマークに並ぶ大量の未読バッジに目を奪われる
- 別タブで開いていたチャットツールやメールの未読に意識が吸い寄せられる
- CIの完了を待つ間、何度もブラウザをリロードして待機してしまう
こうしたコンテキストスイッチの積み重ねは、1日を通してみると馬鹿にならない認知リソースを奪っていきます。
この摩擦を解消し、手元のターミナルから一歩も出ずに日々のGitルーティンを滑らかに完結させる現実解が、GitHubの公式CLIツール 「GitHub CLI(gh)」 です。
今回は、現場で毎日叩いている実践的なエイリアス設計から、CI待機やPRレビューの自動化、TUI拡張「gh-dash」の活用、そしてCLIとWeb UIの賢い境界線まで、実務に即した自動化レシピをまとめます。
なぜ今、公式CLI「gh」なのか?
gh コマンドは単なるGitHub REST APIの薄いラッパーではありません。現在のカレントディレクトリ(Gitリポジトリ)や作業ブランチのコンテキストを自動認識し、手元のGit操作とGitHubの機能をシームレスに結合するよう設計されています。
前提バージョンとして、本記事では現行の GitHub CLI v2系 を使用します。まだ導入していない場合は、各OSのパッケージマネージャーから導入し、初回認証を済ませておきましょう。
# macOS (Homebrew)
brew install gh
# Windows (winget)
winget install GitHub.cli
# 初回認証(Webブラウザまたはワンタイムコードでログイン)
gh auth login
これだけで、手元のターミナルとGitHubアカウントがセキュアに連携されます。
日常のルーティンを削る「4つの実践コマンド&エイリアス」
実務で頻繁に発生する定型作業を、キー入力数回で終わらせるレシピを紹介します。
1. 「ドラフトPR作成」を一発で完了させる
コードをプッシュしたら、まずは下書き(Draft)でPRを作り、CIを回しておきたいケースがほとんどです。
gh pr create --draft --fill
--draft(-d): ドラフトPRとして作成--fill(-f): コミットログからタイトルと本文を自動補完
これを毎回タイプするのは面倒なので、gh alias set でエイリアスを登録しておきます。
# エイリアスの登録(Mac / Linux)
gh alias set prd 'pr create --draft --fill'
# ※Windows(PowerShell / CMD)の場合はダブルクォートで指定
gh alias set prd "pr create --draft --fill"
以降は作業ブランチで gh prd と叩くだけで、ブラウザを開くことなくドラフトPRの発行までが2秒で完了します。
2. 「自分宛てのレビュー待ちPR」を即座に抽出する
朝のスタンドアップ前や作業の合間に、「今、自分がボールを持っているPR」を確認したい場面は多いはずです。
ここで役立つのが、検索クエリを指定したPRの一覧取得です。
# カレントリポジトリ内の自分宛てレビュー待ちPR
gh pr list --search "review-requested:@me"
# 全リポジトリ横断で自分宛ての未処理PRを探す場合
gh search prs --review-requested=@me --state=open
カレントリポジトリ内の抽出をエイリアス化しておくと、日々の確認が驚くほどスムーズになります。
gh alias set reviews 'pr list --search "review-requested:@me"'
ターミナルで gh reviews と打つだけで、自分がレビューすべきPR番号とタイトルが数行でリストアップされます。不要な通知の山に惑わされず、今必要なタスクだけに焦点を絞ることができます。
3. CI完了待ちと自動マージの連携
PRを作成した後の「CIが通るのを待つ時間」も、ブラウザのリロード連打をやめられるポイントです。
# カレントブランチのCIステータスを監視(完了するまで定期ポーリング)
gh pr checks --watch
ターミナルが自動的に更新され、GitHub Actionsの各ジョブがグリーンになった瞬間にプロセスが終了します。
さらに、CI通過後のマージまで任せたい場合は --auto フラグを組み合わせます。
gh pr merge --auto --squash --delete-branch
--auto: 必須CIやレビュー承認の条件が揃った瞬間に自動マージ--squash(-s): コミットをまとめてスカッシュマージ--delete-branch(-d): マージ完了後にリモートおよびローカルの作業ブランチを自動削除
4. 同僚のPRを手元で即動かす(ワンライナー検証)
同僚のPRをレビューする際、「手元にチェックアウトして挙動を確認したい」という場面があります。
通常ならリモートブランチ名をコピーして git fetch して切り替える必要がありますが、gh ならPR番号を指定するだけで完結します。
gh pr checkout 142
このコマンドを叩くだけで、リモートのPR #142 を手元に専用ブランチとして取得し、即座にチェックアウトまで完了してくれます。動作確認が終わったら元のブランチに戻るだけです。
TUI拡張「gh-dash」でターミナルをダッシュボード化する
コマンド単体だけでなく、PRやIssueを一覧で俯瞰したいエンジニアに強くおすすめしたいのが、公式拡張エコシステムで高い人気を誇る 「gh-dash」 です。
# 拡張機能のインストール
gh extension install dlvhdr/gh-dash
# ダッシュボードの起動
gh dash
ターミナル上にVimライクなキーバインド(j / k 等)で操作できるリッチなダッシュボードが展開されます。
- 左ペイン:自分が作成したPRの一覧
- 中央ペイン:自分宛てにレビュー依頼が来ているPRの一覧
- 右ペイン:アサインされているIssueの一覧
キーボードだけで差分プレビューの確認、ブランチのチェックアウト、ブラウザでの表示切り替えまでが直感的に行えるため、朝の情報収集やタスク整理がターミナル1枚で完結します。設定ファイル(~/.config/gh-dash/config.yml)で表示セクションや検索クエリを柔軟にカスタマイズできる点も実用的です。
20年の現場感覚:CLIとWeb UIの「大人の境界線」
ここまでCLIの利便性を紹介してきましたが、「すべての操作を意地でも黒い画面(CLI)でやるべき」とは考えていません。
道具にはそれぞれ得意・不得意があります。20年開発を続けてきた実務の感覚として、以下のように 明確な境界線 を引いて使い分けるのが最もストレスのない運用です。
| 操作・シチュエーション | 推奨環境 | 理由・現場の実感 |
|---|---|---|
| PR作成・ドラフト化 | CLI (gh prd) | コミットログから自動補完され、手入力の無駄がない |
| CI監視・自動マージ予約 | CLI (gh pr checks --watch) | バックグラウンドで完了を検知でき、作業が途切れない |
| レビュー残債チェック | CLI (gh reviews / gh-dash) | 必要な情報だけを数秒で把握できる |
| 同僚ブランチのローカル検証 | CLI (gh pr checkout) | コマンド一発で手元環境が整う |
| 10ファイル超の複雑なコード差分レビュー | Web UI (gh pr view --web) | シンタックスハイライト、折りたたみ、画像差分はブラウザが圧倒的 |
| 長文の設計議論・インラインコメント | Web UI | リッチなMarkdownプレビューやメンション補完はブラウザが書きやすい |
「作成や状態確認などの反復ルーティンはCLIで秒殺し、じっくりコードを読んで議論するフェーズでは gh pr view --web で迷わずブラウザを開く」。この割り切りこそが、自動化を形骸化させずに長く続ける秘訣です。
過去のワークフローと繋がる「ターミナル完結の1日」
当サイトで以前ご紹介した開発Tipsと組み合わせると、手元の作業フローが1本の綺麗なパイプラインとして繋がります。
- ターミナルを開き、「ghq × fzf」で目的のリポジトリへ一瞬で移動する
- 急な別タスクや調査が入ったら、「git worktree」で並行ブランチを立ち上げる
- 実装が終わったら、今回の「
gh prd」でドラフトPRを発行し、「gh pr checks --watch」でCIを流す - APIやDB接続のテストが必要なら、「1Password CLI」や「dotenvx」で安全にシークレットを注入する
特に、リポジトリ移動の起点となる ghq × fzf の組み合わせは、今回のGitHub CLIと組み合わせることで威力が倍増します。まだ導入していない方は、ぜひあわせてご覧ください。
まとめ:小さな手間の削減が、深い集中をつくる
ブラウザを開いてPRを作り、CIを待ってマージボタンを押す。ひとつひとつの作業にかかる時間は数分かもしれません。
しかし、そのたびに発生する「視線の迷い」や「コンテキストの分断」をターミナル側へ引き戻すことで、プログラミング本来の思考リズムを驚くほど長く維持できるようになります。
まずは手元のターミナルで gh auth login を済ませ、gh alias set prd 'pr create --draft --fill' の1行を登録することから試してみてください。ブラウザのタブを1つ閉じられるだけで、手元の開発環境が一段軽快になったことを実感できるはずです。