MacでGitHub CLIをセットアップする
/ 5 min read
Table of Contents
GitHub CLIとは
GitHubをターミナルやスクリプトから操作するためのCLIです。色々できます。
Core commands
コマンド | 説明 |
---|---|
gh auth | GitHubでghとgitを認証する |
gh browse | WebブラウザでGitHubリポジトリを開く |
gh codespace | Codespaceに接続して管理する |
gh gist | gistsを操作する |
gh issue | イシューを操作する |
gh pr | PRを操作する |
gh release | リリースを管理する |
gh repo | リポジトリを操作する |
Actions commands
コマンド | 説明 |
---|---|
gh run | GitHub Actionsから実行された最近のワークフローを一覧表示、表示、および監視する |
gh workflow | GitHub Actionsでワークフローを一覧表示、表示、実行する |
Additional commands
コマンド | 説明 |
---|---|
gh alias | エイリアスを使用して、ghコマンドのショートカットを作成したり、複数のコマンドを作成したり |
gh api | GitHub APIに対して認証済みのHTTPリクエストを作成し、レスポンスを出力する |
gh completion | GitHub CLIコマンドのshell completion scriptsを生成する |
gh config | ghの構成設定を表示または変更する |
gh extension | 拡張機能を追加する |
gh gpg-key | GitHubアカウントに登録されているGPGキーを管理する |
gh label | ラベルを操作する |
gh search | GitHub全体を検索する |
gh secret | secretをリポジトリまたは組織レベルで設定する |
gh ssh-key | GitHubアカウントに登録されているSSHキーを管理する |
gh status | サブスクライブしているすべてのリポジトリにわたって、GitHubでの作業に関する情報を出力する |
参考: https://cli.github.com/manual/gh
検証環境
- M1 MBP@12.4
- gh@2.12.1 (GitHub CLI)
インストール
Homebrew、MacPorts、Conda、Spackを経由してインストールできます。またreleases pageからバイナリをダウンロードすることが可能です。今回はHomebrewでインストールします。
% brew install gh
参考: https://github.com/cli/cli#macos
構成
CLIの認証を行います。以下のコマンドを実行します。
% gh auth login
いくつか質問されるので回答していきます。
? What account do you want to log into? [Use arrows to move, type to filter]> GitHub.com GitHub Enterprise Server? What is your preferred protocol for Git operations? [Use arrows to move, type to filter]> HTTPS SSH? Authenticate Git with your GitHub credentials? (Y/n) Y? How would you like to authenticate GitHub CLI? [Use arrows to move, type to filter]> Login with a web browser Paste an authentication token? How would you like to authenticate GitHub CLI? Login with a web browser
! First copy your one-time code: XXXX-XXXXPress Enter to open github.com in your browser...
Enterを押すとブラウザでGitHubのDevice Activationページが表示されます。提示されたone-time code(XXXX-XXXX
の部分)をDevice Activationページのフォームに入力してContinueをクリックします。

CLIが要求するアクセス権限のリストが表示されます。問題なければAuthorize gitHubをクリックします。

認証が完了しました。ターミナルに完了メッセージが表示されます。

Press Enter to open github.com in your browser...✓ Authentication complete.- gh config set -h github.com git_protocol https✓ Configured git protocol✓ Logged in as cuavv
参考: https://cli.github.com/manual/
動作確認
以下の条件でリポジトリの一覧を取得してJSONに整形してみます。
- リポジトリ内で最も使われている言語がTypeScript
JSONに出力するフィールドを指定します。
- リポジトリ名 (
name
) - リポジトリ内で最も使われている言語 (
primaryLanguage
) - リポジトリ内で使われている全ての言語とそのサイズ (
languages
) - 所有者 (
owner
) - 作成日時 (
createdAt
) - 更新日時 (
updatedAt
)
% gh repo list --language typescript --json name,primaryLanguage,languages,owner,createdAt,updatedAt
[ { "createdAt": "2022-06-03T14:21:00Z", "languages": [ { "size": 1110, "node": { "name": "JavaScript" } }, { "size": 1271, "node": { "name": "TypeScript" } } ], "name": "sandbox-cdk-ts", "owner": { "id": "MDQ6VXNlcjU3NTM0Mzc0", "login": "cuavv" }, "primaryLanguage": { "name": "TypeScript" }, "updatedAt": "2022-06-11T16:40:44Z" },
取得できました👏