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.0Windowsの場合
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
SSHGitHubの認証を行うか確認されます。認証するのでyを入力します。
? Authenticate Git with your GitHub credentials? (Y/n) yGitHub 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のログイン画面になります。ログイン後、次のページが表示されたら、ワンタイムコードを入力します。

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

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

シェルにも次のように表示されます。
✓ Logged in as AccountNameブラウザに完了画面が出てから数秒かかります。











