🖥️

GitHub CLI (ghコマンド) でGitHubリポジトリの情報を取得する

に公開

はじめに

本記事では、GitHub CLI (以降、 gh )を用いて、GitHubリポジトリの情報を取得する方法をご紹介します。

背景

最近趣味で database-rider というOSSの開発を始めました。
OSS開発の過程で、OSSのGitHubリポジトリの情報を事前情報(以降、コンテキストと記載)としてLLMに付与したいことがありました。
上記を実現できるか調べたところ、GitHub公式の gh コマンドを用いることでリポジトリの情報を取得できると分かりました。
そこで本記事では、 gh コマンドを用いて、GitHubリポジトリの情報を取得する方法を共有します。

前提事項

  • macOSを使用しています。
  • HomeBrewを事前にインストールください。

gh コマンドのインストールと基本的な使用方法

コマンドのインストール

brew を用いる場合、以下で gh コマンドをダウンロードできます。

brew install gh

インストール後のバージョン確認

gh コマンドのインストールに成功したら、以下のコマンドでバージョンを確認します。

コマンド
gh --version
結果
$ gh --version
gh version 2.83.0 (2025-11-04)
https://github.com/cli/cli/releases/tag/v2.83.0

GitHubアカウントとの連携方法

gh をインストールした後、GitHub アカウントと認証する必要があります。

コマンド
gh auth login
結果

以下のとおり、いくつかの選択肢が対話式で表示されます。
各選択肢については後述します。

$ gh auth login
? Where do you use GitHub? GitHub.com 
? What is your preferred protocol for Git operations on this host? SSH
? Upload your SSH public key to your GitHub account? /Users/{YourUserName}/.ssh/id_rsa.pub
? Title for your SSH key: GitHub CLI
? How would you like to authenticate GitHub CLI? Login with a web browser

! First copy your one-time code: {4の文字or数字}-{4の文字or数字}
Press Enter to open https://github.com/login/device in your browser... 
✓ Authentication complete.
- gh config set -h github.com git_protocol ssh
✓ Configured git protocol
✓ Uploaded the SSH key to your GitHub account: /Users/{YourUserName}/.ssh/id_rsa.pub
✓ Logged in as k-hoshihara
$

上記について、選んだ選択肢を中心に説明します。

  • Q: ? Where do you use GitHub?

  • A: GitHub Enterpriseを使用せず、通常の https://github.com を使用する場合は、「GitHub.com」を選択ください。

  • Q: ? What is your preferred protocol for Git operations on this host?

  • A: 「HTTPS」 と 「SSH」 を選択できます。基本的には「SSH」が推奨されるため、今回も「SSH」を選択しました。

  • Q: ? Upload your SSH public key to your GitHub account?

  • A: 既に公開鍵が作成されている場合は、「/Users/{YourUserName}/.ssh/id_rsa.pub」が表示されるので選択します。

  • Q: ? Title for your SSH key: (GitHub CLI)

  • A: 認証後に、 https://github.com/settings/keys に作成される鍵名です。
    「GitHub CLI」がデフォルトの名称なので、気にならなければデフォルト設定のままで大丈夫です。

  • Q: ? How would you like to authenticate GitHub CLI?

  • A: 「Login with a web browser」を選びました。
    本選択肢を選ぶと、ブラウザ上でページが開き、以下のようにデバイス(Mac)の認証画面が開くので、認証を進めてください。
    ! First copy your one-time code:の右に表示される {4の文字or数字}-{4の文字or数字}をページ内の所定の入力欄に入力してください。

gh コマンドの使用例

認証が出来次第、 ghコマンドが使用できるようになります。
一例として gh pr view コマンドを紹介します。

  • コマンド:
    • gh pr view {PRの番号} --repo {Organization名}/{GitHubプロジェクト名}
  • 使用例:
    • gh pr view 619 --repo database-rider/database-rider
  • 概要
    • 以下のような内容が表示されます(一部要約して記載しています)。
        1. タイトル: "Fix connection leak when cacheConnection=true"
        2. ステータス: Merged(マージ済み)
        3. 変更内容: +112 -9(112行追加、9行削除)
        4. ラベル: bug
        5. マイルストーン: 1.45.0
        6. 説明文: 問題の詳細、変更内容、テスト内容
        7. コメント: レビューコメント

上記をそのまま使用すると、標準出力(ターミナル上)に結果が表示されます。
そのままでも使用できますが、以下のように末尾に「 > {ファイル名}」をつけて実行すると、ファイル出力可能です。

  • コマンド:
    • gh pr view {PRの番号} --repo {Organization名}/{GitHubプロジェクト名} > {ファイル名}
  • 使用例:
    • gh pr view 619 --repo database-rider/database-rider > test.txt

取得した結果は、GitHub CopilotやClaude Codeなど所望のLLMツールにコンテキストとして渡すことができます。また、 gh コマンドで取得できる方法は他にもいくつかあるのでぜひご活用ください。
以上です。ここまで読んでいただき、ありがとうございました。

Discussion