gpt4 book ai didi

git - 覆盖 .gitconfig 用户文件中的 git config --system ( git config --global )

转载 作者:太空狗 更新时间:2023-10-29 14:47:38 27 4
gpt4 key购买 nike

我在系统范围的配置中有该文件(但它也可以包含在 git config include.path="/path/to/defaultconfig" 我想重置一些以前设置的值.

特别是,默认配置文件包含 diff.external = git-diff-wrapper,我想为某些用户停用它

最佳答案

如果它是系统范围的配置,则每个用户都可以覆盖他/她的全局和本地设置中的配置值。

但是没有简单的方法来“停用”较低配置文件中的设置。
即使将其设置为 "" 通常也会产生意想不到的后果。那very topic was discussed in April 2010 .

例如,停用send-email 选项:

True, after thinking a bit about this using no value to unset is a horrible, horrible hack.
git-send-email should be corrected to not only check that there is value from config or command line option, but also that it is sane (i.e. non-empty, or simply true-ish if we say that smtpuser = "0" is not something we need to worry about supporting).

对于任何设置都是如此:diff.c#run_diff_cmd()如果it has detected,函数将尝试运行外部差异和 diff.external 值(甚至 "")。

if (!strcmp(var, "diff.external"))
return git_config_string(&external_diff_cmd_cfg, var, value);

导致:

if (pgm) {
run_external_diff(pgm, name, other, one, two, xfrm_msg,
complete_rewrite);
return;
}

所以没有简单的方法来阻止外部系统范围的差异,除非确保这些用户引用不同的 git 系统安装路径(意味着不同的系统设置)。

关于git - 覆盖 .gitconfig 用户文件中的 git config --system ( git config --global ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17568274/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com