2015-03-27 2 views
13

Мне интересно, в чем цель HEAD в голом репозитории? Используется ли оно только тогда, когда клонирование хранилища известно, какая ветка проверена в клонированном репозитории?Почему у открытого хранилища есть HEAD

Обратите внимание, что этот вопрос не о what is HEAD, но, учитывая его функции, мне интересно, почему это необходимо внутри репозитория bare.

+0

Возможный дубликат [Что такое HEAD в Git?] (Http://stackoverflow.com/questions/2304087/what-is-head-in-git) –

+1

Я предполагаю, что это потому, что вы можете нажать commit (не ветви), а затем вам нужна некоторая стартовая точка DAG –

+0

@LukaRahne, да, но 'HEAD' не указывает на фиксации, указывает на ответные ссылки, так что даже если я нажимаю на то, что начальная точка может быть найдена используя ответные ссылки. –

ответ

5

Не могли бы вы назвать случай, когда HEAD используется в открытом репозитории?

См «t/t1430-bad-ref-name.sh»

Вы можете сделать мягкий сброс в голом репо, а значит, вы можете переместить ГОЛОВА (ток фиксация) вокруг, который является одним из способов change the default branch.

Это означает, что когда вы клонируете голый репо, ветвь по умолчанию, выписанная в не-голом клоне, будет той, на которую ссылается голова HEAD РЕПО.

+2

спасибо, так что в основном мое это предположение верно. Используется ли оно только тогда, когда хранилище клонировано, чтобы узнать, какая ветка для проверки в клонированном репозитории? _? Мне также интересно, почему вы указали _HEAD (текущая фиксация) _, в то время как HEAD обычно указывает на ref ref даже в голом репозитории. И что делает мягкая перезагрузка 'HEAD'? Переместите ветку ref, на которую указывает 'HEAD'? –

+1

@Maximus, потому что HEAD не всегда ссылается на ветку. Он также может просто ссылаться на фиксацию, и в этом случае это «отдельная головка»: http://stackoverflow.com/a/3965714/6309 – VonC

Смежные вопросы