メインコンテンツへスキップ
見出し画像

GitHub CLIの使い方|ブラウザ移動の手間なく、ターミナルからPRを作る方法

    PRを1本出すのに、ブラウザのタブを何枚開いていますか。

    僕は5枚くらい開いていました。リポジトリ、ブランチの一覧、比較画面、テンプレート、それとレビュアーの一覧。

    で、GitHub CLIを入れてからは、0枚です。端末で gh pr create と打つと、PRのURLが1行返ってくる。

    今日は「GitHub CLIの使い方」を、公式マニュアルとリポジトリのREADMEの本文だけで書きます。入れ方、ログイン、PR、Issue、それと自動化で使う時の注意。確認日は2026年9月17日です。

    GitHub CLIとは何か——gitの隣に、GitHubを置く道具

    まず定義から。

    公式マニュアルの1行目はこうです。「GitHub CLI, or gh, is a command-line interface to GitHub for use in your terminal or your scripts」。端末とスクリプトからGitHubを操作する道具。コマンド名は gh。

    リポジトリ cli/cli のREADMEの言い方の方が、僕は好きです。「brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with git and your code」。

    PRやIssueといった「GitHubの概念」を、すでにgitで作業している端末の隣に持ってくる。

    ここが大事で、gh は git の置き換えではありません。READMEには、前身のhubが「a proxy to git」だったのに対し、ghは「a standalone tool」だと書いてあります。gitはgitのまま。その隣にghが増える。

    リポジトリは cli/cli で、GitHub自身が作っている公式ツール。ライセンスはMIT。2026年9月17日時点でスターは4.6万を超え、最新リリースはv2.101.0(2026年9月15日公開)です。

    (正直、僕は長いこと「ブラウザで十分」と思っていて、入れたのはPRを1日に何本も出す時期が来てからでした)

    画像


    GitHub CLIの使い方1:入れ方はOSごとに1行

    入れ方はREADMEの「Installation」に全部あります。

    macOSはHomebrew。brew install gh。Windowsは WinGet。Linuxは Debian/Ubuntu なら apt、RPM系なら dnf など、ディストリビューションごとに手順が載っている。どれも、精選済みのバイナリをreleasesページから直接落とす道もあります。

    対応先は GitHub.com、GitHub Enterprise Cloud、それと対応版のGitHub Enterprise Server。公式マニュアルによると Enterprise Server は 2.20 以降です。

    入れたら gh --version で入ったことを確かめる。ここまで2分。

    ログイン——gh auth loginを1回打てば、トークンはOSが持つ

    ここが最初のつまずきどころ。

    公式マニュアルの手順はシンプルで、gh auth login を打つ。既定はブラウザ認証で、画面の指示どおりにブラウザでコードを入れると終わる。

    終わると何が起きているか。マニュアルの「gh auth login」のページにこう書いてあります。認証後のトークンは「stored securely in the system credential store」。OSの認証情報の保管庫、macOSならキーチェーンに入る。それが使えない環境では平文の保存に落ちる、とも書いてある。

    つまり、あなたがトークンをファイルに書いて管理する必要はない。

    いや、CIとかスクリプトではブラウザ開けないでしょ?

    そのために2つの道があります。1つは --with-token で、標準入力からトークンを読ませる。もう1つは環境変数で、マニュアルによると GITHUB_TOKEN が設定されていればghはそれを自動で使う。無人の環境はこちらです。

    トークンに必要なスコープも決まっていて、「The minimum required scopes for the token are: repo, read:org, and gist」。自分で発行する時は、この3つを最低限つける。

    会社のGitHub Enterpriseを使うなら、gh auth login --hostname <ホスト名> か、環境変数 GH_HOST。

    ここで1つ、うちで実際にあった話。

    ghの認証が切れた日に、git push は普通に通りました。gitはSSH鍵で動いているので、ghとは無関係。止まったのはPRの作成とCIの結果照会だけ。「pushできたのにPRが出せない」は、gitではなくghのログイン切れを疑う。これは公式の仕様から素直に出てくる切り分けですが、知らないと30分は迷います。

    画像


    GitHub CLIの使い方2:PRは gh pr create で、URLが1行返る

    本題です。

    ブランチで作業して、コミットしたら、gh pr create。

    公式マニュアル「gh pr create」の説明はこれ。「Create a pull request on GitHub. Upon success, the URL of the created pull request will be printed」。成功したら、PRのURLが表示される。それをチームに貼れば終わり。

    タイトルと本文は、何も指定しなければ対話で聞かれます。急ぐ時は --fill。マニュアルの説明は「Use commit info for title and body」で、コミットの情報からタイトルと本文を埋めてくれる。

    マージ先を変えたい時は --base。下書きにするなら --draft。やっぱりブラウザで書きたい時は --web で、ブラウザのPR作成画面が開く。

    ブランチをまだpushしていない場合はどうなるか。マニュアルによると、push先を聞いてくる。しかも、元のリポジトリをforkする選択肢も出る。pushを忘れていても止まらない。

    たとえば、こんな1行で済みます。

    gh pr create --title "請求書の集計を月次に変更" --body "手動集計を廃止" --base develop

    打った瞬間にURLが返る。5枚のタブは要りません。

    Issue・CI・その他——コマンド群は40以上ある

    PR以外も同じ形です。

    公式マニュアルに並ぶコマンド群は、repo、pr、issue、run、release、api、auth、gist、codespace、extension など。全部で40以上の群、200以上のサブコマンドがある。

    僕がよく使うのは3つ。

    gh issue create でIssueを端末から立てる。gh run list でGitHub Actionsの実行一覧を見る(落ちたCIを探すのに、ブラウザのActionsタブを開かなくていい)。gh api で、コマンドが用意されていないものをREST APIに直接投げる。

    てか、この gh api があるので、「ghにできないこと」がほぼ無いと思っています。GitHubのAPIにあることは全部できる。

    あとは細かい設定。gh config set editor <エディタ> でPR本文を書くエディタを決める。gh alias set で長いコマンドに短い名前をつける。この2つは公式マニュアルの冒頭に載っている基本です。

    AIエージェントに使わせる時の1行

    ここは2026年らしい話。

    cli/cli のREADMEに、コーディングエージェント向けのスキルが用意されている、と書いてあります。入れ方はこれ。

    gh skill install cli/cli gh --scope user

    これで、Claude CodeやCodexのようなエージェントが gh の使い方を知った状態で動く。エージェントにPRを出させる運用をしている人は、これが最短です。

    うちでも、社内のAIがPRを作る時はghを叩かせています。人がブラウザで確認するのは、返ってきたURLだけ。個人的には、エージェントにGitHubを触らせるならブラウザ操作よりghの方が安全だと感じています。許可する範囲をスコープで切れるので。

    使えるようになったか、どう確かめるか

    最後に判定です。

    判定は1つでいい。

    次のPRを、ブラウザを開かずに出せたか。

    gh auth status でログインしていることを確かめて、ブランチでコミットして、gh pr create --fill。URLが1行返ったら、できています。

    返らずにエラーが出たら、まず gh auth status。ログイン切れなら gh auth login をもう1回。gitのpushが通るかどうかは、この判定には関係ありません。

    画像


    まとめ:GitHub CLIの使い方は、ログイン1回とpr createから

    今日はこんな話でした。

    GitHub CLIは、gitの隣にGitHubの概念を置く公式ツール。入れ方はOSごとに1行。gh auth login を1回打てばトークンはOSの保管庫に入り、無人の環境では GITHUB_TOKEN を使う。最小スコープは repo・read:org・gist。

    PRは gh pr create で、成功すればURLが1行返る。--fill でコミットから埋められる。Issue・CI・APIも同じ形で、コマンド群は40以上。エージェントに使わせるなら gh skill install cli/cli gh --scope user。

    まず今日、brew install gh(かお使いのOSの1行)と gh auth login だけやってみてください。次のPRで gh pr create --fill と打つ。URLが返ったら、タブを閉じていいです。

    ▶ 関連記事: GitHub MCP Serverの使い方——リモートかローカルか、ツールセットの絞り方、読み取り専用で始める

    ▶ 関連記事: microsandboxの使い方——AIエージェントのコードをmicroVMに閉じ込める。入れ方・msb run・Python SDK


    オープンソース研究所の6大特典

    ghをAIエージェントに叩かせる時の許可の切り方と、うちが使っているエイリアスの一覧を入れています。OSSを業務に組み込む人向けです。

    👉 オープンソース研究所の6大特典を受け取る

     
     
    今バズってるAI系オープンソースを毎日発信|海外で話題のGitHubレポジトリを最速で紹介|“使えるかどうか”まで解説|AI・開発トレンドを追う人向け|AIメディア|最新情報を毎日執筆中|フォロー推奨👇

    あなたへのおすすめ