我的~/.gitconfig包含这个include节,它继承自一个团队范围的配置文件。
~/.gitconfig
include
[include] ~/.gitconfig.team
但是,我有一些个人repos,我不想继承这个.gitconfig.team。有没有办法在我的个人资料库中覆盖/强制取消设置此部分?例如,我可以在personal_project/中添加一些内容到.git/config?我对这样一种解决方案很感兴趣:我可以在个人资料库中修改配置,而不是在团队资料库中。
.gitconfig.team
personal_project/
.git/config
xdyibdwo1#
Git配置包括操作:就好像在include指令的位置找到了它的内容一样参考这意味着您不能覆盖/删除include本身,一旦发现它,就会注入/加载被包含文件的内容。当然,您可以在更具体的配置文件中覆盖它包含的设置:
# ~/.git.config.team [user] name = name
本地,通过git config user.name nic
git config user.name nic
# /some/project/.git/config [user] name = alias
屈服:
/some/project $ git config user.name alias /some/project $
jslywgbw2#
从git 2.13开始,你可以使用条件配置include来实现你的要求。例如,如果你把你的个人仓库保存在一个特定的目录中,你可以引入一个git config来覆盖团队配置中的条目:
[include] ~/.gitconfig.team [includeIf "gitdir:personal_project/"] ~/.gitconfig.personal
或者,如果您将团队repos保存在特定目录中,您可以更改团队配置,使用includeIf而不是include:
includeIf
[includeIf "gitdir:team_project/"] ~/.gitconfig.team
2条答案
按热度按时间xdyibdwo1#
没有
Git配置包括操作:
就好像在include指令的位置找到了它的内容一样
参考
这意味着您不能覆盖/删除include本身,一旦发现它,就会注入/加载被包含文件的内容。
当然,您可以在更具体的配置文件中覆盖它包含的设置:
本地,通过
git config user.name nic
屈服:
jslywgbw2#
从git 2.13开始,你可以使用条件配置include来实现你的要求。
例如,如果你把你的个人仓库保存在一个特定的目录中,你可以引入一个git config来覆盖团队配置中的条目:
或者,如果您将团队repos保存在特定目录中,您可以更改团队配置,使用
includeIf
而不是include
: