Git, Tagging

From Wiki de Caballero
Revision as of 01:48, 12 November 2013 by Felipe (talk | contribs)
Jump to navigation Jump to search

Para entender sobre Git, leer previamente Git, lo Básico.

Tagging

Los tags son referencias a un commit en particular, pueden ser útiles por ejemplo para hacer referencia a una versión del desarrollo (e.g. 1.3.2).

Existen dos tipos de tags. Primero, lightweight que funcionan como un puntero a un objeto de Git pero no guardan información adicional. Segundo, annotaded que son guardados como objetos completos de Git y contienen información como nombre del tagger (quien hace el tag), e-mail, fecha y tienen un mensaje. En el libro oficial recomiendan usar annotaded tags.

Lightweight Tags

git tag nombreTag

Anotaded Tags

git tag -a nombreTag -m 'Mensaje del tag'

Listar tags

Listar todos los tags

Este comando lista los tags disponibles

git tag

Resultado:

v1
v1.3
v1.5

Listar tags usando filtro

Este comando lista los tags disponibles

git tag -l 'v1.*' # Lista solamente los tags que empiezan con v1.

Resultado:

v1.3
v1.5

Tag un commit anterior

Para hacer un tag sobre un commit anterior se usa, después del comando, el checksum del commit (o una parte) que se quiere usar. Funciona igual para lightweight o annotaded tags. Ej:

git tag -a nombreTag -m 'Mensaje del tag' 1132c1f

Quitar un tag

git tag rm nombreTag

Subir tags a un remote

git push nombreRemote nombreTag	# Sube nombreTag a nombreRemote
git push nombreRemote --tags	# Sube todos los tags que exiten localmente a nombreRemote

Branching

Branching funciona como caminos diferentes que pueden volver a unirse. En un punto determinado de la historia del proyecto se crean dos caminos que contienen lo mismo pero que pueden cambiar independientemente.

Existe un puntero HEAD que apunta a la rama actual.

Crear una rama nueva, nueva branch

git branch nuevaRama

Cargar una rama

Este comando carga el contenido de una rama y hace que el puntero HEAD apunte a dicha rama.

git checkout nuevaRama

Cargar la rama maestra

Este comando carga el contenido de la rama maestra y hace que el puntero HEAD apunte a dicha rama. La rama mestra se crea por defecto y se llama master.

git checkout master