Страницы

Поиск по вопросам

четверг, 15 ноября 2018 г.

При пуше не появляется ветка на гитхабе

Сделал форк, клонировал репозиторий, создал ветку, теперь когда делаю git push на гитХабе, ветка не появляется.
Но после того как сделал git push --all появилась.
Так и должно быть?


Ответ

создавать ветки можно и разными командами и с разными опциями, передаваемыми командам (ещё и нектороые конфигурационные опции влияют на этот процесс. см. man git-config).
если вы создавали ветку командой branch
$ git branch новая-ветка
то вы не переключились на эту ветку, текущей веткой осталась та, что и была до выполнения этой команды. соответственно, командой push (без дополнительных опций/аргументов) вы пытались отправить изменения из текущей ветки, которая, скорее всего, уже имеется в удалённом репозитории. если вы создавали ветку командой checkout с опцией -b
$ git checkout -b новая-ветка
то переключение на новую ветку должно было произойти. но в этом случае команда push (без доп. опций/аргументов) должна была вернуть ошибку вида:
$ git push fatal: The current branch новая-ветка has no upstream branch. To push the current branch and set the remote as upstream, use
git push --set-upstream origin новая-ветка
т.е., потребовалась бы указание дополнительной опции (подсказана прямо в сообщении об ошибке) для привязки новой ветки к одноимённой ветке в удалённом репозитории.
когда же вы выполнили команду push с опцией --all, то, независимо от того, какая ветка была в этот момент текущей, программа git попыталась создать все недостающие в удалённом репозитории ветки и отправить в них локальные изменения. но недостающие привязки (см. пункт 2 выше) в этом случае программа git не создаст: их надо создавать вручную, чтобы впоследстии можно было из новой ветки выполнять команду push без дополнительных опций/аргументов.

Комментариев нет:

Отправить комментарий