direnvを使ってgithubのアカウントを複数設定する - Melchior
これまでは上記の direnv 使う方法で運用してたけど、複数ターミナルで複数アカウント同時作業すると、設定が混じってしまう場合があって困ってた。
下記の includeIf セクション使う方法に変えると解決したっぽい。SSH キーも変える場合は core.sshCommand 使えば良い。
gitアカウントを作業フォルダによって自動で変更できるようにする - ajike developer's blog - UXデザイン会社アジケの開発者ブログ