有没有一种方法可以在本地git配置文件中取消全局git配置部分的设置?

4

我的~/.gitconfig文件包含这个include部分,用于继承团队共享的配置文件。

[include]
    ~/.gitconfig.team

然而,我有自己的仓库,不想从这个 .gitconfig.team 继承。

有没有一种方法可以在我的个人仓库中覆盖/强制取消设置此部分?例如,我可以在 personal_project/.git/config 中添加的内容?

我想要的解决方案是修改我个人仓库中的配置,而不是团队仓库中的配置。

2个回答

1

不行

Git配置包括操作:

好像它的内容已经在include指令的位置找到一样

ref

这意味着您无法覆盖/删除包含本身,因为一旦找到它,所包含文件的内容就被注入/加载。

当然,您可以在更具体的配置文件中覆盖它包含的设置:

# ~/.git.config.team
[user]
    name = name

在本地,通过 git config user.name nic 进行配置。
# /some/project/.git/config
[user]
    name = alias

产生:

/some/project $ git config user.name
alias
/some/project $

@stchangg,我想知道是否可以创建~/.gitconfig.team文件来保存你的团队设置,并在需要团队设置的任何存储库的本地配置中使用[include]引用它? - kostix

0
自 git 2.13 起,您可以使用 条件配置包含 来实现您所要求的内容。
例如,如果您将个人存储库保存在特定目录中,您可以引入 git 配置以覆盖团队配置中的条目:
[include]
    ~/.gitconfig.team
[includeIf "gitdir:personal_project/"]
    ~/.gitconfig.personal

或者,如果您将团队存储库保存在特定目录中,您可以改为使用includeIf而不是include来更改团队配置:

[includeIf "gitdir:team_project/"]
    ~/.gitconfig.team

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接