Thread (12 messages) flat view 12 messages, 3 authors, 2021-05-30

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 command
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help