Git 2.11版本中push.default默认值查看相关疑问
关于Git 2.11中push.default默认值的疑问解答
嘿,这个问题我之前折腾Git的时候也遇到过,给你一步步捋清楚:
为什么git config --list看不到push.default?
Git的配置项分三个生效层级:系统级、全局级、仓库级。git config --list只会输出被你手动显式设置过的配置项(不管是哪个层级)。如果某个配置项从来没被修改过,Git会使用它内置的默认值,这个默认值不会出现在git config --list的输出里——这就是你看不到push.default的核心原因。
怎么查看push.default的实际生效值?
因为你用的是Git 2.11(还没支持--show-default这个新参数),可以用这两种实用方法:
- 方法一:直接查询配置项,执行命令:
如果没有任何输出,说明这个配置项没有被手动设置,此时Git会使用内置的默认值(也就是你了解到的git config --get push.defaultsimple)。 - 方法二:查看当前Git版本的官方文档,执行:
在打开的文档里搜索git help configpush.default,就能看到这个版本对应的默认值说明——Git 2.11的默认值确实是simple。
这是不是意味着push.default处于未设置状态?
没错!git config --list里没有这个条目,就说明你没有在系统、全局、仓库任何一个层级手动设置过push.default,此时Git完全按照内置的默认规则(也就是simple)来处理push操作。
如果之后你想修改这个值,比如改成matching,只需要执行全局设置:
git config --global push.default matching
这时候再执行git config --list,就能看到push.default的条目了。
内容的提问来源于stack exchange,提问作者Number945




