Tags mark specific points in history as important — typically releases (versions like v1.0.0). Unlike branches, tags are fixed pointers that don't move, used to label and reference release versions. They're central to versioning and release management.
Creating tags
# annotated tag (recommended for releases — has metadata: tagger, date, message)
git tag -a v1.0.0 -m "Release version 1.0.0"
git tag v1.0.0
git tag -a v1.0.0 <commit> -m
