From: Mathias Kunter Date: Thu, 27 May 2021 17:06:25 GMT Subject: git push doesn't use local branch name as default Message-ID: <065528bf-b496-83d3-767d-2a78e50a9edf@gmail.com> 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 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 master Note that it *does* work if the remote branch name is explicitly specified: > git push 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): [Enabled Hooks]