Как сделать checkout Git-тега (пошаговое руководство)

Git-теги используются для пометки определенных коммитов в вашем репозитории, часто для релизов. Если вам нужно сделать checkout тега, это руководство покажет вам, как это сделать.
Ключевые моменты
git checkout <tag>
позволяет просмотреть код на определенном теге.- Вы окажетесь в состоянии detached HEAD, что означает, что изменения не будут связаны с веткой.
- Для активной разработки используйте
git switch -c <branch> <tag>
, чтобы создать новую ветку из тега.
1. Список доступных тегов
Чтобы увидеть все теги в вашем Git-репозитории, выполните:
git tag
Для подробной информации о тегах:
git show <tag-name>
2. Checkout тега
Чтобы переместить вашу рабочую директорию в состояние тега:
git checkout <tag-name>
Пример:
git checkout v1.2.3
Предупреждение о detached HEAD
При checkout тега Git переводит вас в состояние detached HEAD, что означает:
- Вы можете просматривать и изменять файлы, но любые новые коммиты не будут принадлежать ветке.
- Чтобы вернуться к вашей ветке:
git checkout main # Или имя вашей рабочей ветки
3. Checkout тега и создание ветки (рекомендуется)
Если вы хотите внести изменения на основе тега, создайте новую ветку из него:
git checkout -b my-feature-branch <tag-name>
Или используя более новую команду git switch
:
git switch -c my-feature-branch <tag-name>
4. Checkout удаленного тега
Чтобы сделать checkout тега из удаленного репозитория:
-
Получите все теги:
git fetch --tags
-
Сделайте checkout тега:
git checkout tags/<tag-name>
5. Переключение обратно на ветку
Если вы находитесь в состоянии detached HEAD и хотите вернуться:
git checkout main # Или любое имя ветки
Или с помощью git switch
:
git switch main
Часто задаваемые вопросы
Потому что тег - это не ветка, а просто указатель на коммит. Вам нужно создать ветку, если вы хотите вносить изменения.
Не напрямую. Сначала нужно создать ветку с помощью `git checkout -b new-branch <tag>`.
`git checkout` - более старая команда, используемая как для веток, так и для файлов. `git switch` - более новая и понятная альтернатива для переключения между ветками.
Заключение
Checkout Git-тега полезен для просмотра снимка вашего репозитория в определенный момент. Однако, поскольку теги не являются ветками, вам следует создать новую ветку, если вам нужно внести изменения.