Git提出了push.default警告

时间:2014-11-30 17:39:17

标签: git warnings push default

当我将git提交到我的远程存储库时,出现了这个警告:

clyde-browns-computer-2:bloccit clydiscope$ git commit -m 'Installed gem faker and generated seed    data'
[seed-data fabb6ea] Installed gem faker and generated seed data
 3 files changed, 26 insertions(+), 7 deletions(-)
clyde-browns-computer-2:bloccit clydiscope$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
clyde-browns-computer-2:bloccit clydiscope$ git merge seed-data
Updating 1811f8b..fabb6ea
Fast-forward
Gemfile      |  1 +
Gemfile.lock |  3 +++
db/seeds.rb  | 29 ++++++++++++++++++++++-------
3 files changed, 26 insertions(+), 7 deletions(-)
clyde-browns-computer-2:bloccit clydiscope$ git branch -d seed-data
Deleted branch seed-data (was fabb6ea).
clyde-browns-computer-2:bloccit clydiscope$ git push

warning: push.default is unset; its implicit value has changed in

       Git 2.0 from 'matching' to 'simple'. To squelch this message
       and maintain the traditional behavior, use:

 \git config --global push.default matching

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

git config --global push.default simple

When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.

Since Git 2.0, Git defaults to the more conservative 'simple'
behavior, which only pushes the current branch to the corresponding
remote branch that 'git pull' uses to update the current branch.

我切换到默认匹配只是为了解决问题,但我想知道是否有人可以详细说明这意味着什么,以及这种事情是如何发生的。我开始使用Git 2.0,那么这对我有什么用呢?

1 个答案:

答案 0 :(得分:5)

这意味着默认情况下,Git仅推送当前分支,并且只有当该远程数据库中存在同名的远程分支时才会。

这就是为什么在默认模式下the first push must be an explicit one

git push -u origin master

在您的情况下,master已经有了一个上游分支,因此git push已足够。

但由于推送策略未明确设置,因此警告提醒您默认情况下仅推送当前分支。
请参阅" Why is pushing to matching the default in Git?"