Thread (2 messages) 2 messages, 2 authors, 2021-05-27

git push doesn't use local branch name as default

From: Mathias Kunter <hidden>
Date: 2021-05-27 17:06:33

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, but fails with an error instead:
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

git push --set-upstream <remote_name> master
Note that it *does* work if the remote branch name is explicitly specified:
git push <remote_name> <branch_name>
But shouldn't this also work without having to explicitly specify the remote branch name, and default to the local branch name instead?


[System Info]
git version:
git version 2.31.1.windows.1
cpu: x86_64
built from commit: c5f0be26a7e3846e3b6268d1c6c4800d838c6bbb
sizeof-long: 4
sizeof-size_t: 8
shell-path: /bin/sh
feature: fsmonitor--daemon
uname: Windows 10.0 19042
compiler info: gnuc: 10.2
libc info: no libc information available
$SHELL (typically, interactive shell): <unset>


[Enabled Hooks]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help