据我观察,当在一个作用域或多个作用域中为 git config 变量指定多个值时,该变量属于两组之一。一个使用最后一个值,另一个使用所有值。
git config --system user.name foo
git config --global user.name bar
git commit
使用 bar
作为提交者名称。全局 user.name
会覆盖系统范围的。
git config --global remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
git config --local remote.origin.fetch +refs/heads/*:refs/remotes/origin2/*
git fetch origin foo
更新/创建 refs/remotes/origin/foo
和 refs/remotes/origin2/foo
。全局值和局部值都被使用。
对于随机配置变量,是否有一种编程方法来查找它属于哪个组?
这是不可能的。
甚至给定变量的类别也不是固定的。例如,给定您帖子中的全局和本地设置,输出
git config --get-all user.name
是
bar
foo
这取决于变量使用的每种情况,无论是单值还是多值。 UTSL.