Какая разница между HEADи masterв Git?
Я сделал клон проекта на GitHub и хочу перенести свои изменения на пульт. Но к чему я должен подталкивать?

Какая разница между HEADи masterв Git?
Я сделал клон проекта на GitHub и хочу перенести свои изменения на пульт. Но к чему я должен подталкивать?

Ответы:
masterэто ссылка на конец ветки. По соглашению (и по умолчанию) это обычно основная ветвь интеграции, но это не обязательно.
HEADна самом деле это особый тип ссылки, который указывает на другую ссылку. Это может указывать master или не может (это будет указывать на то, какая ветвь в настоящее время извлечена). Если вы знаете, что хотите принять участие в masterветке, нажмите на это.
Вот наглядный пример:

В вашем собственном репозитории вы можете проверить, куда HEADуказывает указатель, запустив это:
$ git symbolic-ref HEAD
refs/heads/master
Однако выяснить, куда remotes/origin/HEADуказывает указатель, сложнее, поскольку он находится на удаленной машине.
Здесь есть отличный небольшой учебник по ссылкам на git:
http://people.gnome.org/~federico/news-2008-11.html#pushing-and-pulling-with-git-1
Простой ответ - HEADэто указатель / метка для самого последнего коммита ветки, в которой вы находитесь. masterявляется веткой по умолчанию, созданной при инициализации git-репозитория (например git init).
Вы можете удалить masterветку (например git branch -D master). Вы не можете удалить HEADуказатель.
HEADmsgstr " это указатель / метка для самого последнего коммита ветки, в которой вы сейчас находитесь." Я думаю, что это в лучшем случае вводит в заблуждение. Если вы извлекаете более старый коммит, то HEAD теперь является указателем на этот более старый коммит, а не на самый последний коммит. Правильно?
checkoutкоманда эквивалентна переключению ветвей в других распространенных системах SCM.
HEADсамом деле является указателем Git . Я ценю ваш комментарий и думаю, что другие тоже. Содержимое моего оригинального сообщения и ваш комментарий дополняют друг друга. Спасибо.
Просто нажмите изменения вашей текущей ветви
git push origin
и это подтолкнет вашу ветку ' B' изменения к ' origin/B'.
Если вы находитесь на своей masterветке, git будет нажимать на origin/master.
На самом деле он будет помещать все изменения в локальные ветви, в которых есть соответствующие удаленные ветви origin. Это контролируется настройкой конфигурации push.default .
Также смотрите описание RefSpecs в книге Pro Git .
То, что вы видите, является боковой панелью, представляющей все refspecs вашего удаленного репо в Experimental GitX fork проекта GitX .

HEADБудет обозначать ветвь по умолчанию для этого пульта дистанционного управления.
Смотрите git remote set-headсправочную страницу :
Наличие ветки по умолчанию для удаленного не требуется, но позволяет указать имя удаленного вместо конкретной ветви.
Например, если для ветви по умолчаниюoriginзадано значениеmaster, тоoriginможет быть указано везде, где вы обычно указываетеorigin/master.