Git 不同目录下不同的参数配置

2020-06-27  本文已影响0人  CHMAX

问题

作为一个开发者,我们通常会有公司或者 GitHub 等多个账户,在这类项目下提交代码时,使用的用户名和邮箱是不同的,当然我们也可以为单个的项目设定指定的用户名和邮箱,但是如果拉取新的项目时,难免有时会忘记设置。

配置加载顺序

操作 Git 时,首先会加载系统级别的 /etc/gitconfig 文件(默认未创建),之后是加载用户的全局配置文件 ~/.gitconfig,最后是针对每个仓库的 .git/config 文件。如果加载过程中出现配置冲突时,后面的配置项会覆盖前面的配置。

解决

我们可以使用 includeif 参数来实现不同目录不同配置的需求,首先打开 ~/.gitconfig 文件,删除原有的 [user] 配置,并添加以下配置:

[includeIf "gitdir:**/workdir/**"]
    path = ~/.gitconfig_work
[includeIf "gitdir/i:**/github/**"]
    path = ~/.gitconfig_github

详细配置说明

创建 ~/.gitconfig_work~/.gitconfig_github 文件,根据自身情况做配置,参考如下:

$ vim ~/.gitconfig_work
[user]
    name = xxx
    email = xxx@company.com

$ vim ~/.gitconfig_github
[user]
    name = xxx
    email = xxx@gmail.com
上一篇 下一篇

猜你喜欢

热点阅读