[microtip] git: ramas locales y remotas

git es un sistema de control de version distribuido (DVCS por sus siglas en inglés), y una de sus características que lo hacen más atractivo es su gran rapidez para trabajar con ramas (branches).

En este pequeño post, que he llamado microtip, veremos cómo crear una rama, movernos entre ramas, realizar sencillos merge entre ramas y cómo hacer que estos cambios se vean reflejados en un repositorio remoto para poder compartirlo con nuestros compañeros de proyecto.

Para comenzar a trabajar en una rama nueva, podemos hacerlo de dos formas:

git branch nueva_rama
git checkout nueva_rama
git checkout -b nueva_rama

Ok, ya estamos trabajando en la nueva rama. Ahora podemos añadir ficheros, hacer commit de cambios que hayamos hecho, …

git add nuevo_fichero.txt
git commit -m "mensaje para el commit"

Una vez tenemos los cambios deseados en nuestra rama, podemos dejarlo así, de forma que será una rama privada, solamente nosotros tendremos acceso a ella, o podremos hacerla pública a través de algún repositorio remoto para que sea accesible por nuestros compañeros:

git push origin new_branch

Nota: este comando supone que origin es un remote válido para git.

Si queremos pasar estos cambios otra rama, por ejemplo, master: primero nos moveremos a esa rama y luego traemos los cambios a esta rama:

git checkout master
git merge development master