Когда вы извлекаете ревизию по идентификатору или тегу, вы просите git установить ваше рабочее дерево там , но без присоединенной ветви, чтобы следовать за вами, когда вы решите выполнить какую-либо операцию ... которая являетсяотлично от мерзавца, нет проблем вообще.Этот статус называется detached HEAD
.Если вы попросите git зафиксировать, например, git создаст новую ревизию, установит предыдущую ревизию в качестве родителя, все так, как обычно ... разница в том, что вы не работали над веткой,нет указателя ветки, который можно было бы переместить, чтобы установить новую ревизию, которую вы только что создали.Опять же, это совершенно нормально с точки зрения мерзавца.Теперь, для вас, разработчика, это , а не , как вы хотели бы работать обычно .Если вы хотите выполнять работу по разработке, как новую функцию, скажем, вы, вероятно, хотите иметь возможность фиксировать, а затем прыгать куда угодно в любое время, и вам не нужно видеть журнал изменений, чтобы увидеть, где вы оставили свою работу зависшей... поэтому вы бы использовали ветку для разработки своей функции.
Но для чего они используются для отсоединенного HEAD?Я могу быстро подумать об этих ситуациях:
- Нужно извлекать удаленную ветку, и я на самом деле не нуждаюсь в локальной ветке или не хочу для нее (не буду разрабатывать там что-либо, просто проверьте что-то изатем вернитесь туда, где я был)
- Нужно проверить, что слияние пройдет нормально, прежде чем я переместлю реальные ветви, задействованные
- Нужно сделать быстрое исправление, вытянув изменение изпереходите в другой филиал, который находится на удаленном компьютере.
И люди будут думать о других десятках причин для работы с отделенным HEAD.Вообще-то, это одно из чудес git.
Если вы сделали проверку на терминале, вы получите большое предупреждение от git, рассказывающее о начале работы с отключенным HEAD, а также даст несколько инструкцийвыйти из этого.Обычно вы просто создаете ветку, где находитесь, и проверяете ее.Это можно сделать одним выстрелом:
git checkout -b some-new-branch
И вы снова будете работать над веткой, без отсоединенного состояния HEAD.