🐙
Github CLI で複数の Github アカウントを使い分ける
複数の企業やプロジェクトにコミットしていると、どうしても複数の Github アカウントを運用することになるかなと思います。
Github CLI を利用すると、複数のアカウントを使い分けることができて便利です。
ログイン
まず Github アカウントへのログイン。
gh auth login
ブラウザを開いて認証する場合、ログインしたい Github アカウントの認証状態を作っておきます。
これを Github アカウントの数だけやる。
確認
すべてログインしたら、現在の状態を確認。
$ gh auth status
github.com
✓ Logged in to github.com account xxxxx (keyring)
- Active account: true
- Git operations protocol: https
- Token: gho_************************************
- Token scopes: 'gist', 'read:org', 'repo', 'workflow'
✓ Logged in to github.com account yyyyy (keyring)
- Active account: false
- Git operations protocol: https
- Token: gho_************************************
- Token scopes: 'gist', 'read:org', 'repo', 'workflow'
上記の例では、 xxxxx と yyyyy という2つのアカウントがログイン済みとなっています。そして xxxxx がアクティブな状態です。
切り替え
切り替えは簡単。
$ gh auth switch
このコマンドで、他のログイン済みアカウントに切り替わります。
レポジトリ一覧
以下のコマンドでレポジトリのリストを表示することができます。
$ gh repo list
しかし表示されるのは自身のレポジトリだけです。
自身が所属する Organization のレポジトリも表示したいときは以下の通り。
$ gh repo list OrganizationName
GithubCLI と git の認証同期
自分の場合、すでにレポジトリをクローンした後に Github CLI を導入しました。
すると、クローン済みのレポジトリにて、git fetch などの操作ができなくなりました。Github CLI ではログイン済みになっているのに何故?!
と思いきや、ローカルの git との認証の同期が必要でした。
$ gh auth setup-git
以上。
Discussion