From: Kendall Shaw Date: Mon, 03 Jun 2013 22:01:41 GMT Subject: Setting of push.default or confusion about refspecs Message-ID: <51AD1245.9050202@kendallshaw.com> I am setting up a git repository which I cloned using git svn. git ls-remote shows something like: ... refs/remotes/trunk refs/remotes/2.0.2a ... To get the subversion branch names to appear as a local branch, I: git remote add blah http://example.com/blah git fetch blah +refs/remotes/*:refs/heads/* I have made changes now that are okay to be in master in my local repository and I want to push them to the remote repository. The current branch is master. git push complains that push.default is not set. Now, I am confused by the documentation. push.default settings refer to either "the upstream branch" or a branch with "the same name". What is "the same name"? Are these the same name: master refs/remotes/origin/master also, after the fetch above, are these the same name: refs/heads/something refs/remotes/something Regarding the upstream branch, I have in .git/config [remote "origin"] url = http://example.com/blah fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master git config -l shows branch.master.remote=origin branch.master.merge=refs/heads/master When in branch master, is the upstream branch refs/heads/master? Then, I think I can get push to push to refs/remotes/origin/master by setting push.default to upstream, is that right? In case "master" is not the same name as "refs/remotes/origin/master", can you give me an example of branches with the same name that push would push to when push.default is set to simple? Kendall