git push doesn't use local branch name as default
From: Mathias Kunter <hidden>
Date: 2021-05-28 06:29:55
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:quoted
Hi all, at https://git-scm.com/docs/git-push#_description it says:quoted
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 commandquoted
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.quoted
Note that it *does* work if the remote branch name is explicitly specified:quoted
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.