Страницы

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

вторник, 10 декабря 2019 г.

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

#git #git_branch #git_checkout


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

Но после того как сделал git push --all появилась.

Так и должно быть? 
    


Ответы

Ответ 1



создавать ветки можно и разными командами и с разными опциями, передаваемыми командам (ещё и нектороые конфигурационные опции влияют на этот процесс. см. 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 без дополнительных опций/аргументов.

Ответ 2



http://rogerdudler.github.io/git-guide/index.ru.html Создать новую ветку с названием "feature_x" и переключиться на неё можно командой git checkout -b feature_x переключиться обратно на master git checkout master удалить ветку git branch -d feature_x ветка не будет доступна тем, кто пользуется с вами удаленным репозиторием пока вы не отправите её туда git push origin <имя_ветки>

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

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