· 221 words · 2 min
In some cases, we work between our personal projects and work projects, so we need to use different user across multiple projects. As we all known, git provides a way to set up user individually in the .git/config
file in the project root dir. But actually, I always forget to set up the user in the new project before I commit my changes. This annoyed me for a long time.
So I found a way to auto toggle the user in git. We can use the [includeIf]
to include different config files in the ~/.gitconfig
file. This is a feature named “conditional includes” in git.
The following is my ~/.gitconfig
file:
[user]
[includeIf "gitdir:~/Work/"]
path = ~/.gitconfig.work
[includeIf "gitdir:~/Personal/"]
path = ~/.gitconfig.personal
And the following is my ~/.gitconfig.work
file:
[user]
name = work
email = work@company.com
And the following is my ~/.gitconfig.personal
file:
[user]
name = personal
email = personal@me.com
The [includeIf]
will include the config file in the path
if the gitdir
matches the current project root dir. In the ~/Work
dir my commit user will be work
, and in the ~/Personal
dir my commit user will be personal
. So we can use different user in different projects. But remember remove the [user]
section in the .git/config
file in the project root dir, because it have higher priority.
It’s very useful for me. Hope it can help you too.