Felipe,
thanks for your reply.
Sounds like you want to change the default to `push.default=current`.
Yes, but shouldn't `simple` pushing also work? The documentation says
about `push.default=simple`:
When pushing to a remote that is different from the remote you normally
pull from, work as `current`.
If there is no upstream, then there also is no "remote I normally pull
from", and thus, according to the doc, `simple` should actually work
like `current` in this case. Am I wrong here?
If `simple` pushing is used, it doesn't seem to make sense for me to
fallback to `current` on branches which *do* have an upstream, but to
error out on branches which do *not* have an upstream.
Cheers
Mathias Kunter
Am 27.05.21 um 21:51 schrieb Felipe Contreras:
Mathias Kunter wrote:
Hi all,
at https://git-scm.com/docs/git-push#_description it says:
When neither the command-line nor the configuration specify what to
push, the default behavior is used, which corresponds to the simple
value for push.default: the current branch is pushed to the
corresponding upstream branch, but as a safety measure, the push is
aborted if the upstream branch does not have the same name as the local
one.
However, on a branch which does *not* have an upstream branch
configured, the command
git push <remote_name>
doesn't use the local branch name as default,
Yes it does, but only on the src side of the refspec. Something like:
git push <remote_name> <branch_name>:
(invalid refspec)
Note the remote side is missing, so git doesn't know where to push to.
Note that it *does* work if the remote branch name is explicitly specified:
git push <remote_name> <branch_name>
In that case git assumes you mean <branch_name>:<branch_name>.
Sounds like you want to change the default to `push.default=current`.
Cheers.