Толкаем локальную ветку до GitHub - PullRequest
117 голосов
/ 20 января 2011

Я настроил Git таким образом, чтобы при запуске git push он вносил изменения в мое репозиторий GitHub. До сих пор у меня была только основная ветка.

Тем не менее, я теперь создал локальную ветку и зафиксировал ее, используя:

git checkout -b my_new_branch
git commit

Что бы я хотел сделать сейчас, это перенести мои изменения в этой ветке на GitHub. Я просто делаю толчок?

Когда я впервые настроил его, я запустил:

git config push.default current

Ответы [ 4 ]

221 голосов
/ 20 января 2011

Я полагаю, что вы ищете git push origin my_new_branch, предполагая, что ваш исходный пульт настроен для работы с вашим хранилищем github.

9 голосов
/ 29 января 2016

В зависимости от ваших локальных настроек git, если вы отметили ветку, которая не является той, которую вы клонировали, или веткой, в которой вы пытаетесь нажать, git не будет выдвигать вашу локальную ветку.

Вот сообщение, которое оно предоставляет:

предупреждение: push.default не установлено; его неявное значение изменилось в Git 2.0 от «соответствия» до «простого». Чтобы подавить это сообщение и сохранить традиционное поведение, используйте:

git config --global push.default соответствия

Чтобы подавить это сообщение и принять новое поведение сейчас, используйте:

git config --global push.default simple

Когда для push.default установлено значение «match», git будет выдвигать локальные ветви к удаленным ветвям, которые уже существуют с тем же именем.

Начиная с Git 2.0, Git по умолчанию использует более консервативный «простой» поведение, которое только толкает текущую ветвь к соответствующему удаленная ветвь, используемая git pull для обновления текущей ветки.

Смотрите 'git help config' и ищите 'push.default' для дальнейшего Информация. («простой» режим был введен в Git 1.7.11. Используйте аналогичный режим «текущий» вместо «простой», если вы иногда используете более старый версии Git)

fatal: текущая ветвь MyLocalBranch не имеет восходящей ветки. Чтобы подтолкнуть текущую ветку и установите пульт как восходящий, используйте

git push --set-upstream origin MyLocalBranch
0 голосов
/ 28 декабря 2018

Если вы действительно ленивы, вы можете подтолкнуть все местные ветви , просто используя

git push --all

- все

Нажмите все ветви (т.е. ссылки под refs/heads/);нельзя использовать с другими <refspec>.

0 голосов
/ 20 января 2011

Если вы сконфигурировали свой git для отправки в ваше мастер-репозиторий GitHub, независимо от того, в какой ветке вы находитесь, он будет перенаправлен в ваш главный репозиторий GitHub.

Имейте в виду, что, если в одном репозитории работает много разработчиков, вы можете получить конфликт.

...