Si eres un lector habitual del blog, probablemente hayas leído contenido que publicamos anteriormente sobre Git. En él, traemos toda la contextualización necesaria para llegar al tema central del post de hoy, que hablará sobre Git Branch. Solo para recordar, en el artículo “Git: Conoce el sistema de control de versiones que protegerá tus proyectos”, […]
Si eres un lector habitual del blog, probablemente hayas leído contenido que publicamos anteriormente sobre Git. En él, traemos toda la contextualización necesaria para llegar al tema central del post de hoy, que hablará sobre Git Branch.
Solo para recordar, en el artículo “Git: Conoce el sistema de control de versiones que protegerá tus proyectos”, te explicamos cómo funciona este Sistema de Control de Versiones Distribuido, creado por Linus Torvalds, el mismo creador de Linux, para hacerle la vida más fácil a los desarrolladores.
En general, Git es una solución que registra todos los cambios realizados en el código fuente de un proyecto. Lo mejor es que permite que todos los archivos se cambien simultáneamente, por más de una persona, sin el riesgo de que los cambios se sobrescriban y se pierdan.
Entre los comandos que componen esta moderna herramienta, uno de los más importantes es Git Branch. Por eso, la publicación de hoy aclara todo lo que hay detrás de este concepto, incluidas las principales funciones y cómo utilizarlo.
¿Qué es un Branch?
Traducido al español, el término “branch” significa, literalmente “rama”. Cuando llevamos la palabra al mundo de la tecnología, nos estamos refiriendo a la creación de ramificaciones en un proyecto.
Este comando está disponible en la mayoría de los sistemas de control de versión. En el caso de Git, más específicamente, la ramificación se considera el concepto central de la herramienta.
Funciona de la siguiente manera: cada cambio que se realiza en el código de un proyecto, ya sea para agregar un nuevo recurso o incluso corregir un error, se crea una nueva rama (llamada “branch”) que consolida estos cambios, sin interferir en los archivos originales.
Como resultado, las ramificaciones ayudan a organizar las diferentes versiones de una aplicación, lo que facilita mucho la vida de los desarrolladores. Ahora que sabes qué es branch, ¡veamos los detalles de cómo utilizarlo!
¿Cómo utilizar Branch en Git?
Si bien la ramificación es una operación laboriosa en algunos sistemas de control de versiones, en Git, esta funcionalidad es mucho más liviana y prácticamente instantánea, por lo que a menudo es parte del proceso diario de los desarrolladores. A través del comando Git Branch, es posible crear, renombrar, enumerar e incluso eliminar ramificaciones.
Vale la pena recordar que, a pesar de su simple uso, cuanto más ramificaciones tenga un proyecto más difícil será de gestionar, ¿ok?. Otro punto que debes tener en cuenta es que cada archivo creado o modificado se divide en Commits, un paquete de cambios realizados en el repositorio.
Una vez que se crea un repositorio en Git, se inicia automáticamente con el branch principal, también conocido como el branch master. Además, es posible crear branch a partir del master, que se denominan branches secundarios.
Para verificar todas las ramas del repositorio, se utiliza el comando Git Branch. El comando Git para crear un branch es el siguiente: Git branch <nombre del branch>. Aquí, es importante recordar que la rama se crea de acuerdo al branch en el que te encuentras en el momento que escribes un comando, así que ten en cuenta este hecho.
Vale la pena señalar que, para que Git sepa dónde están los branches, la herramienta utiliza asteriscos (*). Si deseas ir a una rama específica, simplemente utiliza git checkout <nombre del branch>. Finalmente, es posible eliminar un branch utilizando el comando <git branch -d <nombre del branch>.
Aquí, hay otro recordatorio: cuando elimines un branch, debes ubicarte en el branch principal y, desde allí, especifica qué rama debe eliminarse.
Agregar funciones al branch master
Una vez que hayas completado todos los cambios y arreglos necesarios en una rama, estará lista para enviarse al código principal del proyecto. Ha llegado el momento de enviar el código de esta rama específica para el branch master, utilizando el comando merge.
Dicho de manera más sencilla, el comando merge tiene el objetivo de combinar varias secuencias de commits en un solo historial, como se hace, por ejemplo, cuando necesitas combinar dos branches. Para asegurarte que esta operación de combinación funcione, deberás seguir algunos pasos de preparación.
Confirmación de la rama receptora
El primer paso para una fusión exitosa es verificar que el puntero esté ubicado en el branch receptor correcto. Ya que estamos hablando del branch master, debes ejecutar el comando git checkout master.
Comprobando los cambios remotos más recientes
A continuación, también se recomienda comprobar que el branch receptor y el branch que se fusionará estén actualizados con los últimos commits realizados de forma remota. Para hacer esto, deberás usar git fetch, que envía el pull de los cambios más recientes, y el comando git pull, que verifica si el branch master tiene todas estas actualizaciones.
Inicio de fusión
¿Has completado el paso a paso que explicamos arriba? Entonces, es hora de fusionar el branch elegido con el branch master a partir del comando git merge. Atención: si estas dos ramas cambian la misma parte del mismo archivo, es posible que Git no pueda decidir qué versión utilizar.
En este caso, la herramienta se detendrá antes que se complete la combinación para que puedas resolver este conflicto. Para eso, debes ejecutar el git status y verificar en qué archivos debes realizar los ajustes.
Utilizando el comando Git Clone en ramificaciones específicas
Ahora que has visto que en Git, actualizar branch con master está bien, nos gustaría presentarte una operación que se puede realizar en este sistema.
Se trata de la clonación de una rama específica, llamada Git clone branch. Al ser un sistema distribuido, Git permite que los desarrolladores accedan al historial completo del proyecto local o de forma remota, así como manipular fragmentos del código donde se encuentren.
En general, el comando git clone se utiliza para clonar el branch master junto con todas las ramas presentes en este repositorio. Pero, para ahorrar espacio de almacenamiento, también es posible clonar una sola rama.
Para esto, hay dos opciones de comando que puedes utilizar, según lo publicado por el Ingeniero de Software, Bolaji Ayodeji. Ellas son:
. Git clone --branch <nombre del branch> <remote-repo-url> . Git clone --branch <nombre del branch> <remote-repo-url>
En el primer caso, clonas el repositorio, buscas en todos los branches y realizas un checkout de la rama específica. En el segundo, la idea es clonar el repositorio y buscar una sola rama. Mucho más fácil, ¿verdad?
Consideraciones finales
Como has visto, el concepto de ramificaciones de Git, que se realiza a través de los comandos Git branch, ofrece más flexibilidad al flujo de trabajo de los desarrolladores.
A partir de los branches, es posible desarrollar una aplicación más organizada. Después de todo, permiten que diferentes profesionales trabajen de forma simultánea y segura en un mismo repositorio, sin que se pierda la información principal del proyecto.
Si te gustó este contenido y quieres adentrarte más en el universo Git, consulta nuestro artículo sobre Git Flow, una estrategia creada para mejorar la organización de branches en el repositorio y, de esta forma, hacer más fluido el proceso de nuevas ramas.