Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: >> This "git push origin HEAD" is IMHO less common. It may confuse users. >> Or users may learn it and be happy thanks to your message. I don't know. > > I was hoping for the latter. I'm slightly embarrassed to say that for > the entire time I've been using git I've been doing: > > # on branch 'topic' > git push origin topic:topic > > Where 'topic' is a tracking branch of 'origin/master' (I use > push.default=upstream). I only recently discovered that I could push to > 'HEAD" to do the same thing. So one ulterior motive is to make that more > prominent. Personally I do not think you should feel embarrassed at all. I didn't know it myself, and I do not recall designing such a behaviour, so I would not be surprised if it is merely what the code right now happens to do. FWIW, I would have expected that a "git push origin HEAD" when HEAD is a symref to a branch 'x' would behave as if "git push origin x" were given, going through the usual simple/upstream/matching etc. dance. Do we consider the current behaviour useful? Is it documented already and widely known? If the answers are yes/no, of course we should document it, but if they are no/no, it may not be a bad idea to deprecate it and replace it with a saner version (i.e. deref HEAD to branch name and behave the same way as pushing that branch) over time.