Para qué sirven las ramas en Git

4min

Las ramas son una de las principales utilidades que disponemos en Git para llevar un mejor control del código. Se trata de una bifurcación del estado del código que crea un nuevo camino de cara a la evolución del código, en paralelo a otras ramas que se puedan generar. En este artículo, repasamos para qué sirven las ramas de Git y cómo podemos trabajar con ellas en un proyecto.

Las ramas nos pueden servir para muchos casos de uso. Por ejemplo, tras la elección del hosting para crear una página web o desarrollar una tienda online, para la creación de una funcionalidad que queramos integrar en un programa y para la cual no queremos que la rama principal se vea afectada. Esta función experimental se puede realizar en una rama independiente, de modo que, aunque tardemos varios días o semanas en terminarla, no afecte a la producción del código que tenemos en la rama principal y que permanecerá estable.

El trabajo con ramas resulta muy cómodo en el desarrollo de proyectos, porque es posible que todas las ramas creadas evolucionen al mismo tiempo, pudiendo el desarrollador pasar de una rama a otra en cualquier momento según las necesidades del proyecto. Si en un momento dado el trabajo con una rama nos ha resultado interesante, útil y se encuentra estable, entonces podemos fusionar ramas para incorporar las modificaciones del proyecto en su rama principal.

En todo proyecto creado con Git podemos ver la rama en la que estamos actualmente situados. Para ello, utilizamos el comando:

git branch

Si no has hecho ninguna rama todavía (o si no te has movido de rama), Git nos indicará que estamos en la rama master o principal.

$ git branch
 * master

También disponemos del comando show-branch que nos muestra un resumen de las ramas de un proyecto y sus últimas modificaciones (o commits).

git show-branch
Índice

Crear ramas e intercambiarlas

Las principales operaciones que tendremos que realizar al operar con ramas en Git son su creación y el paso de una rama a otra cuando estamos dentro de nuestro proyecto.

  • Una nueva rama la puedes crear con el comando branch seguido del nombre de la rama que se desea generar.
git branch testfuncionalidad
  • El comando checkout es el que nos permite pasar de una rama a otra. Mediante esta operación, todo el código del proyecto cambiará, para reflejar los archivos tal como estaban en la rama a la que nos hemos pasado.
git checkout testfuncionalidad

Una vez en nuestra nueva rama, podremos realizar todos los cambios en los archivos que sean necesarios para codificar nuestros objetivos. Luego haremos los commit que permitan actualizar la rama actual con los últimos cambios.

Fusión de ramas

La última parte que veremos en este artículo sobre la operativa con ramas, que seguro que algún día querrás realizar, es la fusión del código entre dos ramas distintas. Esta operación se conoce con el nombre del comando que utilizamos: merge.

Para realizar la fusión entre ramas usamos el comando merge y el nombre de la rama que queremos fusionar, seguido de un mensaje. Tenemos que hacerlo estando situados en la rama que queremos usar como base, e indicando el nombre de la rama que queremos fusionar. Por ejemplo, estando en la rama master para fusionar la rama testfuncionalidad necesitamos ejecutar este comando:

git merge testfuncionalidad -m 'Mensaje del merge'

Durante una operación de merge se junta el código de ambas ramas y Git hace todo lo posible para que su integración sea automática. Sin embargo, si se generaron cambios en el código de un mismo archivo en dos ramas distintas y Git no es capaz de integrarlos, entonces el procedimiento requerirá una intervención manual para decir qué código es el que debe figurar en ese archivo que tiene conflicto.

En nuestro editor encontraremos el código con conflicto marcado. Tendremos que dejar el archivo tal como pensamos que debe quedar y guardarlo.

función de ramas

Una vez dejamos el fichero como se desee, debemos añadirlo al repositorio, y hacer commit para que se refleje en la rama actual.

Si usamos un programa para administrar repositorios con interfaz gráfica podremos ver el estado de nuestras ramas en un diagrama muy aclarador. Esta imagen es del programa sourceTree.

función de ramas

Si estás empezando con Git, te recomendamos consultar los artículos Cómo instalar Git en un Servidor CloudControl de versiones: Git y GitHub o el más reciente Cómo ignorar archivos con Git mediante el archivo de configuración .gitignore

Fernán García de Zúñiga

Productos relacionados: