GitHub CLIの導入と認証情報設定方法

GitHubに置いたリポジトリに対してターミナルから操作するとき、何を使用していますか?

gitプログラムだと思います。

クローンやコミット、Push、Pull、Fetchなどの一般的なGit操作であれば他のサーバーにあるリポジトリと同じようにgitプログラムで不自由なく操作できます。

しかし、GitHub特有の情報にはgitプログラムは操作できません。例えば、イシューの一覧を取得してファイルに書き出すといったことはgitプログラムはできません。

こういったGitHub特有の情報を操作するにはGitHubのCLIプログラムのghを使用します。この記事ではghの導入と認証情報を設定する方法を解説します。

目次

ghのインストール

ghのインストール方法はOSによって異なります。

macOSの場合

macOSの場合はHomebrew経由でインストールできます。ターミナルで次のように実行します。

brew install gh

次のようにしてインストールされたバージョンを確認します。表示されればインストール成功です。

gh --version
gh version 2.28.0 (2023-04-25)
https://github.com/cli/cli/releases/tag/v2.28.0

Windowsの場合

Windowsの場合もHomebrewを導入すればbrew経由でインストールできると思いますが、wingetを使った方が良いでしょう。PowerShellやコマンドプロンプトで次のように入力します。

winget install --id GitHub.cli

ソース契約条件に同意するか確認が出ます。yを入力して同意するとインストールが開始されます。

'msstore' ソースを使用するには、使用する前に次の契約を表示する必要があります。
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
ソースが正常に機能するには、現在のマシンの 2 文字の地理的リージョンをバックエンド サービスに送信する必要があります (例: "US")。

すべてのソース契約条件に同意しますか?
[Y] はい  [N] いいえ: y
見つかりました GitHub CLI [GitHub.cli] バージョン 2.28.0
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://github.com/cli/cli/releases/download/v2.28.0/gh_2.28.0_windows_amd64.msi
  ██████████████████████████████  9.89 MB / 9.89 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました

インストールが完了するとコマンドプロンプトが入力待機状態になります。PATHの変更を反映するためPowerShell(もしくはコマンドプロンプト)を再起動します。

再起動後、次のように入力してバージョンを確認します。バージョンが表示されればインストール成功です。

gh --version
gh version 2.28.0 (2023-04-25)
https://github.com/cli/cli/releases/tag/v2.28.0

その他の方法

公式サイトからリンクされているドキュメントにはその他の方法でインストールする方法が解説されています。他の方法でインストールしたい場合にはそちらを参照してください。

ghでログインする

ghでGitHubにログインします。次を実行します。

gh auth login

ログイン先の確認が出ます。筆者はGitHub.comにログインします。GitHub.comを選択してエンターキーを押します。

? What account do you want to log into?  [Use arrows to move, type to filter]
> GitHub.com
  GitHub Enterprise Server

使用するプロトコルの確認が表示されます。筆者はHTTPSを使用するので、HTTPSを選択してエンターキーを押します。

? What is your preferred protocol for Git operations?  [Use arrows to move, type to filter]
> HTTPS
  SSH

GitHubの認証を行うか確認されます。認証するのでyを入力します。

? Authenticate Git with your GitHub credentials? (Y/n) y

GitHub CLIでWebブラウザでログインするか、認証トークンを使うかの確認が表示されます。筆者はWebブラウザを選択しました。

? How would you like to authenticate GitHub CLI?  [Use arrows to move, type to filter]
> Login with a web browser
  Paste an authentication token

ワンタイムコードが表示されます。エンターキーを押してブラウザを起動します。GitHubにブラウザでログインしていない場合はGitHubのログイン画面になります。ログイン後、次のページが表示されたら、ワンタイムコードを入力します。

GitHub CLIのワンタイムコードの入力

次に許可する操作の確認が表示されます。「Authorize github」を押して許可します。

許可する操作の確認

成功すると完了画面が表示されます。

完了

シェルにも次のように表示されます。

✓ Logged in as AccountName

ブラウザに完了画面が出てから数秒かかります。

著書紹介

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Akira Hayashi (林 晃)のアバター Akira Hayashi (林 晃) Representative(代表), Software Engineer(ソフトウェアエンジニア)

アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ソフトウェアの受託開発、技術書執筆、技術指導・セミナー講師。note, Medium, LinkedIn
-
Representative of RK Kaihatsu. Software Engineer Specializing in Development for the Apple Platform. Specializing in contract software development, technical writing, and serving as a tech workshop lecturer. note, Medium, LinkedIn

目次