背景
用自己的电脑远程办公的时候,提交的代码邮箱都是个人邮箱,这让强迫症肯定不能忍呀。
如果一两个项目还可以通过改.git/config来配置,但是在公司久了接手的维护的项目大大小小几十个,每个都配一遍那肯定受不了啊。而且要换台电脑就又得从头再来,这可不是个好选项。
遂搜了一圈,发现可以通过includeIf来配置指定文件夹下的Git配置。
includeIf
从Git 2.13开始,Git配置文件开始支持名为Conditional Includes的配置。通过设置includeIf.\<condition>.path,通过path匹配系统文件路径指向的一个Git配置文件。
举个例子
现在我有一个存放工作项目的文件夹
~/work # 工作项目
它配置的邮箱应该是不一样的,所以在这个文件夹下各建立一个.gitconfig文件
vi ~/work/.gitconfig
配置工作的用户名和邮箱,如果公司项目有专用代理,也可以在这里配上。
[user]
name = <Your Name>
email = <Your Email>
配置完以后,大家~/.gitconfig
vi ~/.gitconfig
增加下面的内容
[includeIf "gitdir:~/work/"]
path = ~/work/.gitconfig
然后就大功告成啦,只要工作相关的项目都放在这个文件夹下,它们的配置都会是统一的,不必一个一个再去单独配置了。
References
[1] Use a different user.email and user.name for Git config based upon remote clone URL