Jeff King [off-list ref] writes:
quoted
With the branch.$name.remote, the user tells us "When I am on this
branch, I want to talk to this remote". When you did
git push -- master next ;# case #4
on branch maint, branch.maint.remote should not come into play.
I understand that's your position, but I don't understand _why_.
If branch.$name.remote is "when I am on this branch, I want to talk to
this remote", that rule is not be impacted by the presence of refspecs
at all.
So running the above while on 'maint' will send master and next to
the remote your "git push" would send to when run without any
refspecs?
That is internally consistent and understandable, and I have no
objection to it. Certainly much better than basing the decision on
branch.{master,next}.remote as I thought you were suggesting to do.