🐫
Azure Cloud ShellでGitHub CLIコマンドを使ってみた
はじめに
数か月ぶりにGitのPrivateリポジトリを使った作業がしたい・・・
Git cloneしたい・・・
しかし、使用しているコンソール(今回はAzure Cloud Shell)でGitの認証情報が切れているorz
認証とかやり直すのが毎回めんどう。。
本記事では、Azure Cloud ShellでGitHub CLIコマンド(gh)を使ってGitアカウントをブラウザ認証し、Git cloneを手軽に実施した手順を記載します。
環境
- Azure Cloud Shell
- gh version 2.13.0 (2023-10-18)
手順
とりあえずgit clone
r_ota [ ~ ]$ git clone https://github.com/roota5666/private-repo.git
Cloning into 'private-repo'...
Username for 'https://github.com':
Username for 'https://github.com':
認証を聞かれる←当然
ghコマンド確認
r_ota [ ~ ]$ which gh
/usr/bin/gh
r_ota [ ~ ]$ gh version
gh version 2.13.0 (2023-10-18)
https://github.com/cli/cli/releases/tag/v2.13.0
r_ota [ ~ ]$
→Azure Cloud Shellでghコマンドが使える!
認証する
基本的にコマンド gh auth login
実行後、Enter数回とブラウザ認証するだけです。
- GitHub.com or GitHub Enterprise Server ?
r_ota [ ~ ]$ gh auth login ? What account do you want to log into? [Use arrows to move, type to filter] > GitHub.com GitHub Enterprise Server
- HTTPS or SSH ?
? What is your preferred protocol for Git operations? [Use arrows to move, type to filter] > HTTPS SSH
- browser or token ?
? How would you like to authenticate GitHub CLI? [Use arrows to move, type to filter] > Login with a web browser Paste an authentication token
- Login with a web browser
! First copy your one-time code: YAHO-OOOO Press Enter to open github.com in your browser...
- OK!
r_ota [ ~ ]$ gh auth login ? What account do you want to log into? GitHub.com ? What is your preferred protocol for Git operations? HTTPS ? How would you like to authenticate GitHub CLI? Login with a web browser ! First copy your one-time code: YAHO-OOOO Press Enter to open github.com in your browser... ! Failed opening a web browser at https://github.com/login/device exec: "xdg-open,x-www-browser,www-browser,wslview": executable file not found in $PATH Please try entering the URL in your browser manually ✓ Authentication complete. - gh config set -h github.com git_protocol https ✓ Configured git protocol ✓ Logged in as roota5666 r_ota [ ~ ]$
認証後 git clone
r_ota [ ~ ]$ git clone https://github.com/roota5666/private-repo.git
Cloning into 'private-repo'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 8 (delta 1), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (8/8), done.
Resolving deltas: 100% (1/1), done.
r_ota [ ~ ]$
先ほどの Username for 'https://github.com':
認証確認がなくなり、cloneできました!
認証の解除(ログアウト)
認証した状態でそのままにして使用することもできますが、念のためログアウト手順も記載しておきます。 gh auth logout
でログアウトできます。
r_ota [ ~ ]$ gh auth logout
✓ Logged out of github.com account 'roota5666'
r_ota [ ~ ]$
まとめ
- GitHub CLI(gh)コマンド、Gitコマンドしか知りませんでした・・・
- ブラウザで認証できるのは、やはり便利ですね!
(Azure CLIのaz loginも同じブラウザ認証形式ですね) - 次回からは
gh auth login
します!
最後までお読みいただき、ありがとうございました。
Discussion