Я git newbie, и я продолжаю читать о "основной" ветке. Является ли "мастер" просто обычное имя, которое люди использовали, или оно имеет особое значение, например HEAD
?
Когда я делаю git branch
на моем клоне, я вижу только одну отдельную ветку - тот, на котором я нахожусь. Никакого «мастера» вообще. Если я наберу git checkout master
(как я вижу во многих учебных пособиях или руководствах), я получу
error: pathspec 'master' did not match any file(s) known to git.
, я просто не понимаю, почему у моего клона нет мастера
кажется, что все подразумевают, что оно всегда существует.
Большинство репозиториев Git используют master
в качестве основной (и по умолчанию) ветки — если вы инициализируете новый репозиторий Git через git init
, он мастер
извлечен по умолчанию.
Однако, если вы клонируете репозиторий, ветка по умолчанию будет той, на которую указывает удаленный HEAD
(HEAD
на самом деле является символической ссылкой, которая указывает к названию ветки). Таким образом, если репозиторий, который вы клонировали, имел HEAD
, указывающий, скажем, на foo
, тогда ваш клон будет просто иметь ветку foo
.
У удаленного сервера, с которого вы клонировали, может быть ветка master
(вы можете проверить с помощью git ls-remote origin master
), но вы не создали бы локальную версию эта ветка по умолчанию, потому что git clone
проверяет только удаленный HEAD
.