Из документации git push
(https://git -scm.com / docs / git-push ):
Когда в командной строке не указывается, куда нажимать с аргументом , для определения того, куда нажимать, запрашивается удаленная конфигурация branch. *. Для текущей ветви. Если конфигурация отсутствует, по умолчанию используется источник.
Когда в командной строке не указывается, что нажимать с аргументами ... или параметрами --all, --mirror, --tags, команда находит значение по умолчанию , консультируясь с remote. *. Push конфигурации, и если она не найдена, учитывает конфигурацию push.default, чтобы решить, что нужно нажать (см. git-config [1] для определения значения push.default).
В соответствии с этим, указывается ли у вас удаленное устройство, независимо от того, указана ли у вас ссылка refs, а правила того, когда и как используется push.default, определяются последними.
На этой странице также есть множество примеров, если требуется разъяснение, и если вы знаете, какое поведение вы ищете, не так уж сложно настроить тест, если все еще сомневаетесь.