Страницы

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

четверг, 5 декабря 2019 г.

Каково назначение ключа `-u` при git push?

#git #git_push


И чем отличает отправка без ключа git push origin master.
    


Ответы

Ответ 1



Если сделать git push ветки без ключа -u, Git не свяжет локальную ветку с веткой удалённого репозитория. Последующая операция git pull в этой ветке будет неудачной, так как Git не будет знать, из какой удалённой ветки подтягивать изменения, это придётся указать явно при помощи команды git branch --set-upstream-to=origin/master. Смысл использовать ключ -u есть только при пуше новых веток, для существующих (связанных с удалёнными) веток каждый раз перезаписывать связку необязательно.

Ответ 2



С ключом -u (полный вариант --set-upstream) вы создаёте (если ещё не существует) в удалённом репозитории ветку, соответствующую вашей локальной и связываете их: В remote/branchname будет производиться push в локальную ветку branchname Из remote/branchname будет производиться pull в локальную ветку branchname Для master это актуально, только если вы пушите в пустой репозиторий. Если клонировали - то соответствие ветвей уже настроено. А вот как только вы создадите новую локальную ветвь и захотите её запушить на remote, вам понадобится ключ -u. # есть у нас локальная ветка git checkout -b mybranch # Создаем ветку на remote git push -u origin mybranch # Можно выбрать другое имя для создаваемой ветки на remote. git push -u origin mybranch_with_other_name

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

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