コマンドライン上でGitHub関連操作が行えるGitHub CLI
おはこんばんちは!コンテナソリューショングループの髙井です。
GitHubは通常、ブラウザ上で利用します。が、何度もターミナルとブラウザを行き来するのが面倒だと思う方もいるかと思います。
今日はコマンドライン上でGitHub操作を完結させることが可能な、GitHub CLIのインストールについて説明します。
ちなみにGitHub CLIでは、デフォルトブランチ以外のGitHub Actions手動ディスパッチなど、一部ブラウザ上では行えない操作も行うことができます。
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に行き、repo
とread:org
の権限を付与したアクセストークンを作成します。
貼り付けると以下のように認証が完了します。
? Paste your authentication token: **************************************** - gh config set -h github.com git_protocol ssh ✓ Configured git protocol ✓ Logged in as XXXXXX
以上で、GitHub CLIを使う準備は完了です!よきGitHubライフを~