какое-то время назад скачал репозиторий на локальный комп. После этого его продолжали развивать другие, добавили новые commits в ветки develop и master. Кроме того добавили tags (3.1-beta, 4.0-beta) к некоторым commits в ветке develop.
Мне нужно перевести код в текущей папке проекта в версию 4.0-beta, для этого я в его локальной папке выполняю:
git fetch
git checkout 4.0-beta
git status
Ответ последней команды следующий:
HEAD detached at с
nothing to commit, working directory clean
Мое понимание такое, у меня есть две копии проекта после его клонирования с помощью git clone: локальная и локальная-синхронизированная (обе имеются локально). После команды git fetch вся локальная-синхронизированная копия обновляется. Потом я перехожу на commit c тегом 4.0-beta и соответственно все файлы в текущей директории проекта соответствуют этому commit. Поэтому я могу их компилировать и быть уверенным, что они именно этой версии. Если я запущу git merge, то локальная-синхронизированная копия будет обеднена с локальной. Но по сути, мне это делать не обязательно, если я не хочу изменять эти файлы, а только пользоваться.
Если мои рассуждения не верны, можете ли вы их исправить? Почему git status пишет Head Detached?