воскресенье, 12 мая 2024 г.

Git метки (тэги)


Метки (теги)

  • Указатели на коммиты, лежат в .git/refs/tags/
  • Выступают в роли commit-ish (как commit ID, ветки и ссылки относительно HEAD)
  • Можно запушить с ключом --tags (но по умолчанию локальны)
  • Аннотированный тег сопровождается специальным объектом-тегом в .git/objects/**/
    • git tag [commitish] -a тег -m Аннотация
    • Можно подписывать электронной подписью 
Две роли тегов: информационная и управляющая (особенно подписанных)

find . > /tmp/files_before
git tag NewDate [commit id]
пометили тегом коммит

git tag

покажет существующие метки, чтобы вывести в консоль можно убрать пейджер git config core.pager ""

git log --graph --pretty=oneline --abbrev-commit --all
 метки можно посмотреть на графе

find . > /tmp/files_after

diff /tmp/files_before /tmp/files_after

покажет нам новый файл, который появился в связи с созданием метки .git/refs/tags/NewDate в этом файле просто commit id

git checkout -b old NewDate

переключаемся на ветку old с одновременным ее созданием на коммите с меткой

Аннотированные теги:

 теги сопровождающиеся специальным объектом, этот объект можно подписать электронной подписью

git tag Anno -a -m "tag message here"

-a добавляет аннотированный тег, -m добавляет message

git tag -d Anno

удаляет тег


Аннотированный тег создает специальный объект в .git/objects/  вида tag (четвертый тип в дополнение к blob, tree, commit), в котором хранится  commit id, название тэга, автор и commit message.

 

 

 

 

Комментариев нет:

Отправить комментарий