Почему у моей «ветки git» нет хозяина?

Я git newbie, и я продолжаю читать о "основной" ветке. Является ли "мастер" просто обычное имя, которое люди использовали, или оно имеет особое значение, например HEAD ?

Когда я делаю git branch на моем клоне, я вижу только одну отдельную ветку - тот, на котором я нахожусь. Никакого «мастера» вообще. Если я наберу git checkout master (как я вижу во многих учебных пособиях или руководствах), я получу

error: pathspec 'master' did not match any file(s) known to git.

, я просто не понимаю, почему у моего клона нет мастера кажется, что все подразумевают, что оно всегда существует.

84
задан aberrant80 2 September 2010 в 04:08
поделиться

1 ответ

Большинство репозиториев Git используют master в качестве основной (и по умолчанию) ветки — если вы инициализируете новый репозиторий Git через git init, он мастер извлечен по умолчанию.

Однако, если вы клонируете репозиторий, ветка по умолчанию будет той, на которую указывает удаленный HEAD (HEAD на самом деле является символической ссылкой, которая указывает к названию ветки). Таким образом, если репозиторий, который вы клонировали, имел HEAD, указывающий, скажем, на foo, тогда ваш клон будет просто иметь ветку foo.

У удаленного сервера, с которого вы клонировали, может быть ветка master (вы можете проверить с помощью git ls-remote origin master), но вы не создали бы локальную версию эта ветка по умолчанию, потому что git clone проверяет только удаленный HEAD.

67
ответ дан 24 November 2019 в 08:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: