I have a repo which tracks non-default branches. So, there is a local branch named \"master\" which should track \"origin/master-13.07\". I\'ve done \"push -u\", and I believe i
With Git 2.20 (Q4 2018), the advice will slightly change.
See commit 8247166 (13 Nov 2018) by Ævar Arnfjörð Bjarmason (avar).
(Merged by Junio C Hamano -- gitster -- in commit 2c23f0b, 01 Dec 2018)
push
: change needlessly ambiguous example in errorChange an example push added in b55e677 ("push: introduce new
push.default
mode "simple
"", 2012-04-24, v1.7.11-rc0) to always mean the same thing whether the current setting happens to be "simple
" or not.This error is only emitted under "
simple
", but message is explaining to the user that they can get two sorts of different behaviors by these two invocations.Let's use:
- "
git push <remote> HEAD
" which always means push the current branch name to that remote,- instead of "
git push <remote> <current-branch-name>
" which will do that under "simple
", but is not guaranteed to do under "upstream
".
Ok. With the informations you added, I think you simply have to change push.default
to value upstream
.
You probably configured the actual value after upgrading Git and seeing this message :
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
According to the documentation, value simple
must reject a push when branch names are different. See Git Config (search for push.default
).