警告:push.default 未设置;在 Git 2.0 中,其隐含值将发生更改。

15 浏览
0 Comments

警告: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之间有什么区别?

如果我在一个客户端上进行更改,我需要在与之共享仓库的其他客户端上做任何事情吗?

admin 更改状态以发布 2023年5月21日
0
0 Comments

我知道这是一个旧的贴子,但是由于我遇到了同样的问题并且很难找到答案,所以我想要补充一点内容。

所以,@hammar 的答案是正确的。使用 push.default simple,有点像在分支上配置跟踪,因此在推送和拉取时不需要指定远程和分支。 matching 选项将所有分支推送到它们对应的默认远程分支(这是第一个设置的远程分支,除非您已经配置了您的仓库)。

希望其他人在未来能够发现一个有用的事情是,我在 OS X Mountain Lion 上运行 Git 1.8 时从未看到这个错误。升级到 Mavericks 才突然出现(运行 git --version 将显示 git version 1.8.3.4 (Apple Git-47),我从未见过直到升级操作系统。)

0
0 Comments

文档中有详细的解释,但我试图做一个总结:

  • matching 表示 git push推送所有本地分支 到远程同名分支。这使得不小心推送了不希望推送的分支成为可能。

  • simple 表示 git push只将当前分支推送到 git pull 所抓取的分支上,同时检查它们的名称是否匹配。这是更直观的行为,这就是为什么默认值被更改为这个。

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

0