Git提出了push.default警告

Cly*_*own 4 git warnings default push

当我将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.
Run Code Online (Sandbox Code Playgroud)

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

Von*_*onC 5

这意味着默认情况下,Git仅推送当前分支,并且仅当该远程中存在同名的远程分支时.

这就是为什么在默认模式下,第一次推送必须是明确的:

git push -u origin master
Run Code Online (Sandbox Code Playgroud)

在你的情况下,master已经有一个上游分支,所以git push就足够了.

但由于未明确设置推送策略,因此警告提醒您,默认情况下,仅推送当前分支.
请参阅" 为什么要推送匹配Git中的默认值? "