Кажется, существует различие между последней фиксацией, ГОЛОВА и состояние файла I видят в моем каталоге.
Что такое ГОЛОВА, что я могу сделать с ним и какой ошибки я должен избежать?
HEAD - это ссылка на последнюю фиксацию в текущей извлеченной ветви.
Есть небольшое исключение из этого правила - отделенная ГОЛОВА. Отсоединенная HEAD - это ситуация, в которой вы попадаете всякий раз, когда проверяете фиксацию фиксации (или тег) вместо ветки. В этом случае вы должны представить это как временную ветвь без имени; поэтому вместо ссылки на именованную ветвь у нас только есть HEAD. Он по-прежнему позволит вам делать коммиты (которые обновят HEAD), поэтому приведенное выше краткое определение по-прежнему верно, если вы думаете об отделенной HEAD как о временной ветке без имени.
HEAD
- это ссылка (ссылка) на текущий извлеченный коммит.
В нормальном состоянии это фактически символическая ссылка на ветку, которую вы извлекли - если вы посмотрите на содержимое .git / HEAD, вы увидите что-то вроде «ref: refs / Heads / master». Сама ветка - это ссылка на фиксацию в конце ветки. Следовательно, в нормальном состоянии HEAD
фактически относится к фиксации в конце текущей ветки.
Также возможно иметь "отдельную ГОЛОВУ". Это происходит, когда вы проверяете что-то помимо (локальной) ветки, например, удаленную ветку, конкретную фиксацию или тег. Чаще всего это можно увидеть во время интерактивной перебазировки, когда вы выбираете редактирование фиксации. В отключенном состоянии HEAD ваш HEAD является прямой ссылкой на фиксацию - содержимое .git / HEAD будет хешем SHA1.
Вообще говоря, HEAD - это просто удобное имя, означающее «то, что вы проверили», и вам не нужно особо об этом беспокоиться. Просто знайте, что вы проверили, и помните, что вы, вероятно, не захотите совершать фиксацию, если вы не находитесь в ветке (отключенное состояние HEAD), если вы не знаете, что делаете (например, находитесь в интерактивном перемещении) .