我在系统范围内配置了该文件(但它也可以包含在git config include.path="/path/to/defaultconfig"
中我想重置之前设置的一些值。
特别是,默认配置文件包含diff.external = git-diff-wrapper
,我想为某些用户停用它
答案 0 :(得分:3)
如果是系统范围的配置,则每个用户都可以在他/她的全局和本地设置中覆盖配置值。
但是没有简单的方法来“停用”较低配置文件中的设置
即使将其设置为""
通常也会产生意想不到的后果。那very topic was discussed in April 2010。
例如,停用send-email
选项:
没错,经过深思熟虑后,没有任何价值可以解决,这是一个可怕的,可怕的黑客攻击
git-send-email
应该更正,不仅要检查配置或命令行选项是否有值,还要确保它是理智的(即非空,或者只是如果我们说是真的smtpuser = "0"
不是我们需要担心支持的事情。
对于任何设置都是如此:如果diff.c#run_diff_cmd()
和diff.external
值(甚至是""
),it has detected函数将尝试运行外部差异。
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系统安装路径(意味着不同的系统设置)之外,没有简单的方法来阻止系统范围的外部差异。