Спробуйте це у своєму aliceсховищі (перед натисканням):
git config push.default tracking
Або налаштуйте його за замовчуванням для користувача git config --global ….
git pushробить за замовчуванням originсховище (яке зазвичай є сховищем, з якого ви клонували поточне сховище), але воно не за замовчуванням натискає поточну гілку - вона за замовчуванням надає лише ті гілки, які існують і в вихідному сховищі, і в репозиторії призначення.
push.defaultЗмінної конфігурації (див ГИТ-конфігурації (1) ) управління , що git pushбуде штовхати , коли він не дав ніяких «refspec» аргументи (тобто що - то після імені сховища). Значення за замовчуванням дає поведінку, описану вище.
Ось можливі значення для push.default:
nothing
Це змушує вас поставити “респект”.
matching(за замовчуванням)
Це висуває всі гілки, що існують як у вихідному сховищі, так і у сховищі призначення.
Це абсолютно незалежно від галузі, яку зараз перевіряють.
upstreamабо tracking
(Обидва значення означають одне і те ж. Пізніше було застаріло, щоб уникнути плутанини з гілками "дистанційного відстеження". Перше було введено в 1.7.4.2, тому вам доведеться використовувати останнє, якщо ви використовуєте Git 1.7.3.1. )
Вони підштовхують поточну гілку до гілки, визначеної її “upstream” конфігурацією.
current
Це підштовхує поточну гілку до однойменної гілки в сховищі призначення.
Ці останні два в кінцевому підсумку однакові для звичайних випадків (наприклад, робота над локальним господарем, який використовує походження / 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).