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のログイン画面になります。ログイン後、次のページが表示されたら、ワンタイムコードを入力します。
次に許可する操作の確認が表示されます。「Authorize github」を押して許可します。
成功すると完了画面が表示されます。
シェルにも次のように表示されます。
✓ Logged in as AccountName
ブラウザに完了画面が出てから数秒かかります。