Mark important commits like releases, versions, and milestones.
A tag is:
A label pointing to a specific commit.
- mark releases
- track versions
- easy rollback
- deployment reference
A --- B --- C --- D
↑
v1.0 tag
git tag v1.0git tag -a v1.0 -m "First release"| Lightweight | Annotated |
|---|---|
| simple pointer | full object |
| no metadata | includes message, author |
git taggit show v1.0git push origin v1.0git push origin --tagsgit tag -d v1.0Tag → pointer to commit
Annotated tag → separate object
v1.0 → first release
v1.1 → bug fixes
v2.0 → major update
- forgetting to push tags
- mislabeling versions
- use semantic versioning
- prefer annotated tags
- tag releases only
Pointer to a commit.
Annotated stores metadata.
For versioning and releases.
git tag -a v1.0 -m "release"
git push origin v1.0Tags help you:
- track versions
- manage releases
- simplify deployment
➡️ 06-git-hooks.md