例えば ~/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
と打つとアクティブなアカウントが切り替わる。