Получение и проверка тегов Git
На предыдущем этапе мы узнали, как перечислить удаленные теги (tags) без клонирования репозитория. Теперь давайте научимся получать эти теги в нашу локальную среду и просматривать их.
Для получения тегов из удаленного репозитория мы используем команду git fetch
с опцией --tags
. Эта команда загружает теги из удаленного репозитория, но не объединяет их с вашими локальными ветками.
Сначала создадим новую директорию и инициализируем в ней репозиторий Git. Это будет наша локальная рабочая область.
cd ~/project
mkdir git-tags-demo
cd git-tags-demo
git init
Теперь давайте получим теги из репозитория проекта Git. Нам нужно указать удаленный URL.
git fetch --tags https://github.com/git/git.git
Вы увидите вывод, указывающий, что Git загружает объекты и обрабатывает ссылки. Это может занять некоторое время в зависимости от вашего интернет-соединения.
remote: Enumerating objects: XXXX, done.
remote: Counting objects: 100% (XXXX/XXXX), done.
remote: Compressing objects: 100% (XXXX/XXXX), done.
remote: Total XXXX (delta XXXX), reused XXXX (delta XXXX), pack-reused XXXX
Receiving objects: 100% (XXXX/XXXX), XXX.XX MiB | XX.XX MiB/s, done.
Resolving deltas: 100% (XXXX/XXXX), done.
From https://github.com/git/git.git
* [new tag] v2.0.0 -> v2.0.0
* [new tag] v2.0.0-rc0 -> v2.0.0-rc0
... (много других строк)
После завершения загрузки теги теперь доступны локально. Чтобы просмотреть полученные теги, вы можете использовать команду git tag
.
git tag
Эта команда выводит список всех тегов в вашем локальном репозитории. Поскольку мы только что получили теги из удаленного репозитория, вы должны увидеть длинный список версионных тегов.
v2.0.0
v2.0.0-rc0
v2.0.0-rc1
v2.0.0-rc2
v2.0.1
... (много других тегов)
Вы можете прокручивать список, чтобы увидеть различные полученные теги. Нажмите q
, чтобы выйти из просмотра списка тегов.
Получив теги, вы теперь имеете локальные ссылки на определенные точки в истории удаленного репозитория, даже если вы не клонировали весь проект. Это полезный способ получить доступ к версиям релизов или другим важным этапам проекта.