Ответ 1
так как git config push.default
ничего не возвращает, это означает, что с git 1.8.0.msysgit.0 "ваш git push
означает git push origin :
, при этом refspec ':
соответствие".
Здесь он создает сопоставление branchA
на удаленной стороне.
Но это не делает его удаленной веткой отслеживания.
Другими словами, branch.branchA.merge
не настроен ни на что.
Вот почему сбой git: он не знает, какую удаленную ветвь он должен объединить с локальным branchA
.
Обратите внимание, что ваш первый git push
должен был отобразить следующее сообщение:
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
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Итак, с Git2.0, что git push не удастся.
Единственный способ нажать branchA
будет, установив явно свою ветвь вверх по течению (используя одно и то же имя):
git push -u origin branchA