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
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,
simple is going to be default in
Git 2.0, is there any way to make my mirrored git repo working?