Сделал форк, клонировал репозиторий, создал ветку, теперь когда делаю 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 без дополнительных опций/аргументов.
Комментариев нет:
Отправить комментарий