Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I setup my local git with 2 remotes, one is main and the other is mirror (documented here).

Today, when I want to push to my 2 remote gits, I got:

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

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)

I took a look at git help config and see the implication of push.default. Then followed the advice to set push.default eventually, as suggested:

  git config --global push.default simple

It worked for one of my remote git repo pairs:

To <my main git remote1>
   70be328..f4f9903  master -> master
Counting objects: 15, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (14/14), 25.87 KiB, done.
Total 14 (delta 6), reused 0 (delta 0)
To <my mirror git remote2>
   70be328..f4f9903  master -> master
   70be328..f4f9903  origin/master -> origin/master

However, with the same global push.default setting, when I want to push to my another set of git repos, I get a fatal error:

To <my main git remote1>
   a95ca69..d1af8b2  master -> master
fatal: You are pushing to remote 'heroku', which is not the upstream of
your current branch 'master', without telling me what to push
to update which remote branch.

Trying to set push.default to upstream got me the same error. Only when I set push.default back to matching, was I able to do git push again:

git config --global push.default matching

$ git push heroku
To <my mirror git remote3>
   a95ca69..d1af8b2  master -> master

I did some search and found a case with similar error, at http://article.gmane.org/gmane.comp.version-control.git/226629, which was acknowledged as a git defect. I don't use git often and I'm not familiar with git enough to tell if that incident can be the same as mine. But anyway,

Since simple is going to be default in Git 2.0, is there any way to make my mirrored git repo working?


share|improve this question
have you looked at this? stackoverflow.com/questions/12341508/… –  Robert Aug 28 '13 at 20:21

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.