In a way completely detached from those commands in Git, Magit displays this:
Head: heroku-master Added curl-based test, GPG and bulk inserts Merge: heroku/master Added curl-based test, GPG and bulk inserts Push: github/heroku-master is missing
And in the branch popup:
Configure existing branches d branch.heroku-master.description unset u branch.heroku-master.merge refs/heads/master branch.heroku-master.remote heroku r branch.heroku-master.rebase [true|false|pull.rebase:true] p branch.heroku-master.pushRemote [github|heroku|remote.pushDefault:github] Configure repository defaults M-r pull.rebase [true|false|global:true] M-p remote.pushDefault [github|heroku] Configure branch creation U branch.autoSetupMerge [always|true|false|default:true] R branch.autoSetupRebase [always|local|remote|never|default:never]
And in push popup:
Switches -f Force (--force-with-lease) -h Disable hooks (--no-verify) -d Dry run (--dry-run) Push heroku-master to p github/heroku-master u heroku/master e elsewhere
Why would I ever want to press p from this buffer? I.e. why would I ever not want to push to the tracked branch? And why is it called "push"?
Notice also how Git is set to always rebase and not merge, but Magit displays "Merge". And, again, this has nothing to do with merging in Git or with any sort of merging you can think of...
I've seen this answer: https://emacs.stackexchange.com/a/26248/563 and it contradicts what I see in the status buffer. So, is this a bug or yet another "useful" feature? Is there any way to get rid of it?