Git y GitHubGit AvanzadoLección 8 de 15
Tags y Versionado Semántico
Los tags son marcadores permanentes en el historial, a diferencia de las ramas que avanzan con cada commit. Se usan para marcar versiones de lanzamiento (v1.0.0, v2.3.1). Los tags anotados incluyen mensaje, autor y fecha, son los recomendados para releases. git push --tags los envía al remoto.
Semantic Versioning (SemVer) es la convención estándar: MAJOR.MINOR.PATCH. MAJOR se incrementa cuando haces cambios incompatibles (rompe la API existente). MINOR cuando agregas funcionalidad nueva pero compatible con versiones anteriores. PATCH cuando solo corriges bugs. La mayoría de las librerías npm siguen SemVer.
# Tag ligero (solo un nombre en un commit)
git tag v1.0.0
# Tag anotado (recomendado: incluye metadata)
git tag -a v1.0.0 -m "Release: versión 1.0.0 estable"
# Tag en un commit específico
git tag -a v0.9.0 -m "Beta release" abc1234
# Ver todos los tags
git tag
git tag -l "v1.*" # Filtrar por patrón
# Ver información de un tag anotado
git show v1.0.0
# Subir tags al remoto (no se suben con git push normal)
git push origin v1.0.0
git push --tags # Subir todos los tags
# Eliminar tag local
git tag -d v1.0.0-beta
# Eliminar tag en remoto
git push origin --delete v1.0.0-beta
# SEMANTIC VERSIONING: MAJOR.MINOR.PATCH
# v1.0.0 -> v2.0.0 (breaking change: API incompatible)
# v1.0.0 -> v1.1.0 (nueva feature retrocompatible)
# v1.0.0 -> v1.0.1 (bug fix)
# v1.0.0-alpha.1 (pre-release)
# v1.0.0-beta.2 (pre-release)
# v1.0.0-rc.1 (release candidate)
Consejo📋 Siempre usa tags anotados (-a) para releases. Incluyen el autor, fecha y mensaje. Los tags ligeros son solo alias de commits, sin información adicional.
Practica esta lección
Resuelve los ejercicios del curso de Git y GitHub en la app, gratis y con corrección automática.
Empezar a practicar