複数のGitHubアカウントでgit と ghコマンドをそれぞれ使い分ける

例えば ~/git/work/以下で仕事、~/git/personal以下で個人のGitHubアカウントで作業したいということがある。

gitコマンドにおいてGitHubアカウントを使い分ける情報自体はそこそこ豊富にある。その中でディレクトリベースで使い分ける方法を選んだ。 gitconfigのincludeIfディレクティブで切りかえられる。

ディレクトリベースで GitHub アカウントを切り替える https://zenn.dev/ytk6565/articles/github-accounts-based-on-directories

ただこれだとgitレポジトリであるディレクトリにしか作用しないので、レポジトリをcloneする前だと設定が有効にならない。

そもそも私はGitHubからのcloneのときはghコマンドを使っている。そこでghコマンドも複数アカウントで使い分けられるようにする方法がないか調べた。

いろいろググった結果、この方法がうまくいった。

GH CLI multi-account switch · GitHub

gh work とか gh personal と打つとアクティブなアカウントが切り替わる。