Allow upstream to be specified when pushing a new branch
When pushing a new branch, there is no way to specify a -u/--set-upstream option for the push. It's not a common use-case to want to change the upstream for normal pushing, but when pushing a brand new local branch, it's very common to need to push it to something other than origin, mainly in the case of FOSS contribution, where the normal use-case is to create a fork off of origin, and push all changes to that remote, before submitting pull-requests.
In some fashion, there should be a way to accommodate this common scenario.
Perhaps it could be a dialog that only shows when pushing a new branch.
Perhaps it could be a dialog that only shows if an initial push attempt fails, for any push.
The alternative is having to dive into the git CLI, every time a new branch is created on a forked repository. Either that or having to invert the normal workflow of a forked repository, having the fork be "origin" and having to name "origin" something else entirely, potentially causing a lot of confusion.