Johannes Schindelin [off-list ref] writes:
But then I stepped back a little: What is most likely meant when you say
"master:blub" and there is no tag/branch of name "blub" on the remote
side? Exactly, you want a branch to be created.
It's not that "exactly" for me.
If your push were "next~27^2:frotz", it becomes even less clear.
It may be that I am pushing out the tip of a topic branch I
usually do not push out, so it would be easier for some specific
person to build on top of. Or maybe I am marking that place as
a lightweight tag. They are equally likely.
On the other hand, what the user wants to do with "git push
$elsewhere frob" is reasonably clear. If frob is locally a
branch, then the branch is pushed out. If frob is a tag, the
tag is propagated.