⛏️
Gitアカウントをプライベート用と仕事用にスムーズに切り替える
プライベート用と仕事用のGitアカウントを楽に切り替える方法がないかを調べていたら
GitHub CLI
を使った方法があったので、今回紹介します。
事前準備
-
各アカウントのアクセストークンを発行する
-
~/.config/gh/
にプライベート用と仕事用の認証設定を作成する-
{{ access_token }}
にアクセストークンを設定する -
{{ user_name }}
にGitアカウント名を設定する
-
$ vim ~/.config/gh/hosts.yml.personal
github.com:
oauth_token: {{ access_token }}
git_protocol: ssh
user: {{ user_name }}
$ vim ~/.config/gh/hosts.yml.work
github.com:
oauth_token: {{ access_token }}
git_protocol: ssh
user: {{ user_name }}
- 認証ファイルをコピーするコマンドのエイリアスを設定する
$ gh alias set --shell personal 'cp ~/.config/gh/hosts.yml.personal ~/.config/gh/hosts.yml && gh auth status'
- Adding alias for personal: cp ~/.config/gh/hosts.yml.personal ~/.config/gh/hosts.yml && gh auth status
✓ Added alias.
$ gh alias set --shell work 'cp ~/.config/gh/hosts.yml.work ~/.config/gh/hosts.yml && gh auth status'
- Adding alias for work: cp ~/.config/gh/hosts.yml.work ~/.config/gh/hosts.yml && gh auth status
✓ Added alias.
アカウントの切り替え
- プライベート用に切り替える
$ gh personal
github.com
✓ Logged in to github.com as {{ username }} (/Users/username/.config/gh/hosts.yml)
✓ Git operations for github.com configured to use ssh protocol.
✓ Token: ghp_************************************
- 会社用に切り替える
$ gh work
github.com
✓ Logged in to github.com as {{ username }} (/Users/username/.config/gh/hosts.yml)
✓ Git operations for github.com configured to use ssh protocol.
✓ Token: ghp_************************************
これで、楽に切り替えられるようになりました。
今回、GitHub CLIでエイリアスを登録できることを知ったので、
もっと活用していきたいと思います!
Discussion
素晴らしい記事をありがとうございます。
実際にこれを動作させるときは、参考のGistを追っていった方がいいかもしれません。