В чем разница между 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.
Просто нажмите изменения текущей ветки
git push origin
 и он подтолкнет вашу ветку "B" к "origin/B". 
Если вы находитесь на ветке master, git будет нажимать на origin/master. 
Фактически он будет вызывать все изменения в локальных ветвях, которые имеют соответствующие удаленные ветки на origin. Он управляется настройкой конфигурации  push.default. 
См. Также нажатие RefSpecs в книге Pro git.
Что вы видите, это боковая панель, представляющая все refspecs вашего удаленного репо в Экспериментальная вилка GitX проект GitX.
 
 HEAD будет обозначать ветвь по умолчанию для этого удаленного. 
См. git remote set-head справочная страница:
Наличие ветки по умолчанию для удаленного не требуется, но позволяет указать имя пульта вместо конкретной ветки.
Например, если ветвь по умолчанию дляoriginустановлена наmaster, тогдаoriginможет быть указана везде, где вы обычно указываетеorigin/master.