Git for Windowsでアカウントをワーキングディレクトリで切り替える

複数のプロジェクトを担当していたりすると、cloneしたプロジェクトディレクトリごとにGitアカウントを変更したいときがあります。

そんな時は「.gitconfig」を拡張しましょう。

まずは作業するプロジェクトで使うGitユーザー、メールアドレスを設定したファイルを作成します。
ファイル名はわかりやすいように「.gitconfig_プロジェクト名」とかにしときましょう。

[user]
    name = MyCompony-Taro
    email = taro@example.co.jp

次に「%USERPROFILE%\.gitconfig」を編集します。

設定を切り替えたいディレクトリへの参照とその時適用したい設定ファイルの参照を末尾に追記します。

[user]
    name = Taro
    email = taro@example.com

~~~省略~~~

[includeIf "gitdir:C:/Users/taro/myproject/"]
    path = "C:/Users/taro/.gitconfig_myproject"

パスに日本語が入る場合は、設定が反映されないのでUTF-8で保存しましょう。

これで設定は終わりです。
ディレクトリを移動すると設定が切り替わることが確認できます。

C:\Users\taro>git config user.name
Taro
C:\Users\taro>cd myproject
C:\Users\taro\myproject>git config user.name
MyCompony-Taro

2025/11/28 追記

Macで久々に設定したハマったメモ。

[includeIf "gitdir:/Users/danishi/myproject/**"]
         path = /Users/danishi/myproject/.gitconfig

注意として、絶対パスで書くこと。myproject配下が直接切り替わるわけではない。
そのため切り替えたいユーザーで初手cloneしたいときはこうする。

git clone https://danishi-user@github.com/danishi/hoge.git

clone後にhogeディレクトリに入ればユーザーが切り替わる。