Попробуйте это в своем alice
хранилище (перед нажатием):
git config push.default tracking
Или настройте его как значение по умолчанию для вашего пользователя с git config --global …
.
*Для 1009 * по умолчанию используется репозиторий origin
(который обычно является репозиторием, из которого вы клонировали текущий репозиторий), но он по умолчанию не выдвигает текущую ветвь - по умолчанию он выдвигает только те ветки, которые существуют как в исходном репозитории, так и в исходном.целевой репозиторий.
Переменная конфигурации push.default
(см. git-config (1) ) управляет тем, что git push
будет выдвигать, когда ей не дано никаких«Refspec» аргументы (то есть что-то после имени репозитория).Значение по умолчанию задает поведение, описанное выше.
Здесь приведены возможные значения для push.default
:
nothing
Это заставляет вас указывать «refspec”.
matching
(по умолчанию)
Это выдвигает все ветви, которые существуют как в исходном хранилище, так и в хранилище назначения.
Этополностью не зависит от ветви, которая в настоящий момент извлечена.
upstream
или tracking
(Оба значения означают одно и то же. Позднее было исключено, чтобы избежать путаницы с«Удаленное отслеживание» ветвей. Первое было введено в 1.7.4.2, поэтому вам придется использовать второе, если вы используете Git 1.7.3.1.)
Это подталкивает текущую ветку к ветви, указанной ее «восходящим»Конфигурация.
current
Это выдвигает текущую ветвь к ветке с тем же именем в целевом хранилище.
Последние два в конечном итоге одинаковы для общих случаев (например, работа с локальным master , который использует 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
), push будет идти к origin
s мастер филиал.Когда оно равно current
, толчок переходит к origin
s quickfix branch.
Параметр matching
обновит bare
master в вашем сценарии, как только он будет установлен.Чтобы установить его, вы можете использовать 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
).