Страницы

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

понедельник, 22 апреля 2019 г.

В чем разница git push -u origin master и git push?

Ну вот собственно, такой простой вопрос... Создал ветку, внес изменения, добавил файлы в отслеживаемые, закомитил, смержил с веткой master и вот теперь хочу отправить изменения на сервер...
Как это сделать просто
git push
или
git push -u origin master
?


Ответ

Второй вариант явно показывает, куда вы пушите коммит, первый - неявно.
В большинстве случаев достаточно указать первый вариант, в крайнем случае вам появится (git 2.0 - 2.8) нотификация типа:
[ak@server abc]$ git push warning: push.default is unset; its implicit value is changing in Git 2.0 from 'matching' to 'simple'. To squelch this message and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
See 'git help config' and search for 'push.default' for further information. (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode 'current' instead of 'simple' if you sometimes use older versions of Git)
Counting objects: 5, done. Delta compression using up to 2 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 367 bytes | 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) To abc@asdf:/asdfasddf.git b41acb4..b8c32bd master -> master
Цитирую
Одним из самых главных изменений является поведение команды git push. Теперь по умолчанию (если не указана ветка) push будет осуществлен только в текущую ветку. Git 1.* по умолчанию делал push во все ветки, которые были изменены локально. Конечно же можно вернуться к прежнему поведению, для этого служит опция push.default.
Это очень популярный вопрос на английском so, там тоже самое написано:
matching означает, что git push отправит все ваши локальные ветки в такие же на удалённом сервере. simple означает, что git push отправит только текущую ветку в такую же на удалённом сервере.
Simple более интуитивный режим, поэтому он является режимом по умолчанию и используется если push.default не установлен.

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

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