警告:push.default未设置; 其隐含价值在Git 2.0中正在发生变化

我一直在使用Git,并且最近下载了一个更新,以便在尝试push时发现此警告消息。

warning: push.default is unset; its implicit value is changing in 
Git 2.0 from 'matching' to 'simple'. To squelch this message 
and maintain the current behavior after the default changes, use: 

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use: 

  git config --global push.default simple

我明显可以将其设置为所提到的其中一个值,但它们的含义是什么? simplematching什么区别?

如果我在一个客户端上更改它,我是否需要对与我共享回购站的其他客户端做任何事情?


它在文档中有详细的解释,但我会试着总结一下:

  • matching意味着git push会将你所有的本地分支推送到远程的同名分支上。 这可以很容易地意外推送你不想要的分支。

  • simple意思是git push 只会将当前分支推到git pull将从中拉出来的分支 ,并且检查它们的名字是否匹配。 这是一个更直观的行为,这就是为什么默认情况正在改变为此。

  • 此设置仅影响本地客户端的行为,并且可以通过明确指定要在命令行上推送哪些分支来覆盖。 其他客户端可以有不同的设置, 它只影响当您不指定要推送哪个分支时发生的情况


    我意识到这是一个旧帖子,但因为我遇到了同样的问题,无法找到答案,我想我会补充一点。

    所以@哈马尔的回答是正确的。 使用push.default simple就像在分支上配置跟踪一样,所以在推拉时不需要指定远程和分支。 matching选项会将所有分支推送到其默认远程设备上的相应对应设备(这是第一个设置的,除非您已经配置了您的回购库)。

    有一件事我希望别人能够在将来找到有用的东西,那就是我在OS X Mountain Lion上运行Git 1.8并从未看到过这个错误。 升级到小牛是突然出现的(运行git --version会显示git version 1.8.3.4 (Apple Git-47) ,这是我在更新操作系统之前从未看到的。


    如果你从git收到关于配置中simple值的消息,请检查你的git version

    在升级XCode (在运行Mountain LionMac上)后,它也将git1.7.4.4升级到1.8.3.4 ,在升级之前,shell仍然运行git 1.7.4.4,并抱怨全局push.default的值simple配置。

    解决方案是关闭运行旧版本git的shell并使用新版本!

    链接地址: http://www.djcxy.com/p/26811.html

    上一篇: Warning: push.default is unset; its implicit value is changing in Git 2.0

    下一篇: "simple" vs "current" push.default in git for decentralized workflow