Difference between revisions of "Git, Tagging"
Line 69: | Line 69: | ||
La rama mestra se crea por defecto y se llama ''master''. | La rama mestra se crea por defecto y se llama ''master''. | ||
Antes de cambiar de rama (''checkout'') es buena idea hacer un commit. | |||
===Crear una rama nueva, nueva branch=== | ===Crear una rama nueva, nueva branch=== | ||
Line 85: | Line 87: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git checkout master | git checkout master | ||
</syntaxhighlight> | |||
===Crear rama y cargarla=== | |||
<syntaxhighlight lang="bash"> | |||
git checkout -b nuevaRama | |||
</syntaxhighlight> | |||
Es un atajo que hace lo mismo que: | |||
<syntaxhighlight lang="bash"> | |||
git branch nuevaRama | |||
git checkout nuevaRama | |||
</syntaxhighlight> | |||
===Merge branches (unificar ramas)=== | |||
<syntaxhighlight lang="bash"> | |||
git checkout master # Se carga la rama master estando en otra rama | |||
git merge nuevaRama # Se hace merge de la nuevaRama sobre master | |||
</syntaxhighlight> | |||
===Borrar una rama=== | |||
Se pueden borrar ramas cuando se desee pero puede ser buena idea hacerlo cuando se planee no usarla más, eso puede ocurrir por ejemplo cuando se trabajo en una rama, se unió al ''master'' y ya no tiene sentido tener la rama todavía porque no se va a trabajar más sobre ella. | |||
<syntaxhighlight lang="bash"> | |||
git branch -d nuevaRama | |||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category: Git]] | [[Category: Git]] |
Revision as of 02:50, 12 November 2013
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.
La rama mestra se crea por defecto y se llama master.
Antes de cambiar de rama (checkout) es buena idea hacer un commit.
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.
git checkout master
Crear rama y cargarla
git checkout -b nuevaRama
Es un atajo que hace lo mismo que:
git branch nuevaRama
git checkout nuevaRama
Merge branches (unificar ramas)
git checkout master # Se carga la rama master estando en otra rama
git merge nuevaRama # Se hace merge de la nuevaRama sobre master
Borrar una rama
Se pueden borrar ramas cuando se desee pero puede ser buena idea hacerlo cuando se planee no usarla más, eso puede ocurrir por ejemplo cuando se trabajo en una rama, se unió al master y ya no tiene sentido tener la rama todavía porque no se va a trabajar más sobre ella.
git branch -d nuevaRama