Попробуйте это в своем aliceхранилище (перед нажатием):
git config push.default tracking
Или настройте его как значение по умолчанию для вашего пользователя с git config --global ….
git pushпо умолчанию используется для originрепозитория (который обычно является репозиторием, из которого вы клонировали текущий репозиторий), но он по умолчанию не выдвигает текущую ветвь - он по умолчанию выталкивает только те ветки, которые существуют как в исходном репозитории, так и в целевом репозитории.
push.defaultПеременной конфигурации (см ГИТ-конфигурации (1) ) управления , что git pushбудет толкать , когда он не дал никаких «refspec» аргументы (то есть что - то после имени репозитория). Значение по умолчанию дает поведение, описанное выше.
Вот возможные значения для push.default:
nothing
Это заставляет вас предоставить «refspec».
matching(по умолчанию)
Это выталкивает все ветви, которые существуют как в исходном хранилище, так и в целевом хранилище.
Это полностью независимо от ветви, которая в настоящее время проверена.
upstreamили tracking
(Оба значения означают одно и то же. Последнее не рекомендуется, чтобы избежать путаницы с ветвями «удаленного отслеживания». Первое было введено в 1.7.4.2, поэтому вам придется использовать последнее, если вы используете Git 1.7.3.1. )
Они выдвигают текущую ветвь к ветке, определенной ее «восходящей» конфигурацией.
current
Это подталкивает текущую ветку к ветви с тем же именем в целевом хранилище.
Последние два заканчиваются тем, что они одинаковы для общих случаев (например, работа на локальном мастере, который использует origin / master в качестве его восходящего потока), но они отличаются, когда локальная ветвь имеет имя, отличное от ее «восходящей» ветки:
git checkout master
# hack, commit, hack, commit
# bug report comes in, we want a fix on master without the above commits
git checkout -b quickfix origin/master # "upstream" is master on origin
# fix, commit
git push
С push.defaultравным upstream(или tracking), толчок будет идти в origin«s основной ветви. Когда оно равно current, толкающий бы к origin«s QuickFix филиал.
matchingУстановка обновит bare«s мастер в вашем сценарии , когда он был создан. Чтобы установить это, вы можете использовать git push origin masterодин раз.
Однако upstreamнастройка (или, может быть current) выглядит так, как будто она лучше соответствует тому, что вы ожидаете, поэтому вы можете попробовать ее:
# try it once (in Git 1.7.2 and later)
git -c push.default=upstream push
# configure it for only this repository
git config push.default upstream
# configure it for all repositories that do not override it themselves
git config --global push.default upstream
(Опять же, если вы все еще используете Git до 1.7.4.2, вам нужно будет использовать trackingвместо upstream).