APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

GitHub CLIのインストールとログイン

f:id:thanaism:20210823074715p:plain

コマンドライン上でGitHub関連操作が行えるGitHub CLI

おはこんばんちは!コンテナソリューショングループの髙井です。

GitHubは通常、ブラウザ上で利用します。が、何度もターミナルとブラウザを行き来するのが面倒だと思う方もいるかと思います。

今日はコマンドライン上でGitHub操作を完結させることが可能な、GitHub CLIのインストールについて説明します。

ちなみにGitHub CLIでは、デフォルトブランチ以外のGitHub Actions手動ディスパッチなど、一部ブラウザ上では行えない操作も行うことができます。

techblog.ap-com.co.jp

GitHub CLIのインストール

brewがインストールされているなら下記でOKです(brewは実はMacだけでなくLinuxにも対応しています)。

brew install gh

aptを利用する場合は、公式ページの説明に従います。

curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh

ちなみにネットで調べると、上記のほかにapt-keyを利用する方法も出てきますが、非推奨です。
apt-keyはセキュリティ面で懸念があるため、廃止予定の機能となっています。

GitHub CLIへのログイン

インストールが完了したら、ログインします。ブラウザ上でGitHubへログインするのと同様に認証が必要です。

gh auth login

上記を実行するとインタラクティブに質問がされ、いくつか答えるだけでログインが完了します。

最初にGitHubエンタープライズかどうかを選択します。通常はGitHub.comを選択すればよいです。

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

次にGitに使うプロトコルを選択します。わからなければHTTPSを使えばよいでしょう。

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

上の質問でSSHを選択した場合は、端末上のSSH keyをGitHubにアップロードするか聞いてくれます。
すでにkeyを登録している場合はSkipでOKです。

? Upload your SSH public key to your GitHub account?  [Use arrows to move, type to filter]
> /home/XXXXX/.ssh/id_ed25519.pub
  /home/XXXXX/.ssh/id_rsa.pub
  Skip

最後に認証をブラウザ経由で行うか聞かれます。
どちらでも良いですがLogin with a web browserが楽だとは思います。

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

Paste an authentication tokenを選択した場合は、以下のような推移となります。

? How would you like to authenticate GitHub CLI? Paste an authentication token
Tip: you can generate a Personal Access Token here https://github.com/settings/tokens
The minimum required scopes are 'repo', 'read:org'.
? Paste your authentication token: 

書いてある通りに、https://github.com/settings/tokensに行き、reporead:orgの権限を付与したアクセストークンを作成します。

貼り付けると以下のように認証が完了します。

? Paste your authentication token: ****************************************
- gh config set -h github.com git_protocol ssh
✓ Configured git protocol
✓ Logged in as XXXXXX

以上で、GitHub CLIを使う準備は完了です!よきGitHubライフを~