一般个人项目和公司项目要用不用的 user.name
和 user.email
,一般情况下每次clone新项目,都要在项目根目录执行以下命令设置项目的邮箱账号信息:
git config --local user.name xxxx
git config --local user.email xxxx@yyy.com
下面介绍如何使用 .gitconfig
的 includeIf
,达到不同的目录,commit时默认使用不同的邮箱账号。
Windows
假设你的工作目录如下:
D:\projects\sources\ => 存放个人项目的目录
D:\projects\work\ => 存放公司项目的目录
创建以下2个文件:
D:/projects/sources/.gitconfig
[user]
name = "xxx"
email = xxx@yyy.com
D:/projects/work/.gitconfig
[user]
name = "aaa"
email = aaa@bbb.com
修改全局 ~\.gitconfig
文件:
C:/Users/{username}/.gitconfig
# 其他现有配置
[safe]
directory = D:/projects
# 新增配置
[includeIf "gitdir/i:D:/projects/work/"]
path = D:/projects/work/.gitconfig
[includeIf "gitdir/i:D:/projects/sources/"]
path = D:/projects/sources/.gitconfig
注意事项
gitdir/i
后面的/i
表示忽略目录名大小写, 在Windows下比较常用- 注意Windows系统的目录分隔符是
\
,但是.gitconfig
配置文件里需要把\
替换成/
- 公司项目和个人项目的配置文件
.gitconfig
不限目录和文件名,也就是说文件D:/projects/work/.gitconfig
可以在任意目录下,叫任意名字,比如~/work.gitconfig
。