¿Que son las ramas en Git? y ¿Para que sirven?

Te has preguntado ¿Qué son las ramas en Git? o ¿Para que sirven las ramas en Git?, bueno para entender esto voy a plantearte un escenario:

Imagina que estas trabajando en un proyecto de desarrollo de un sistema y alguien pide una característica adicional, por ejemplo “quiero que agreguen una validación al crear un cliente”, y justo cuando has terminado, se dan cuenta de que esa validación no es necesaria e incluso genera problemas y te piden que la quites. Entonces ademas del trabajo que te tomo hacer ese cambio, ahora también tienes que revertirlo.

Es ahí donde resulta muy útil trabajar con ramas, cada rama es una linea independiente del programa, por ejemplo en la imagen que se muestra a continuación:

Ramas en git

La rama (linea) master es la versión estable del programa, en un momento decidiste trabajar en un nuevo requerimiento y creaste la Rama1, esta contiene todo el código hasta la versión (commit) #1, entonces creas la versión #3 y luego la versión #5 que tiene el código necesario para cumplir con un requerimiento en particular.

Por otro lado la rama master también ha sufrido cambios, ahora tiene las versiones #2 y #4, en todo momento la rama master debe contener código estable, para que puedas pasarlo a producción (la versión que tienes en el servidor real) cuando lo necesites o hacer una reparación rápida de algún error detectado en producción. Claro esta es solo una recomendación.

Ahora cuando la Rama1 ha pasado todo el control de calidad y se solicita para producción, se genera la versión #6 fusionando la rama master y Rama1 y en esta caso la rama master tiene todo lo que se había trabajado en ella más los cambios hechos en la rama Rama1.

Ventajas de trabajar con Ramas

  1. Si un cambio no se aprueba o se descarta no contaminas el programa con código inútil.
  2. Puedes desarrollar una nueva funcionalidad de forma aislada, cuando se trabaja en equipos grandes, el código que agregan otras personas puede generar ruido, como errores que no están relacionadas a los cambios que estas realizando, mensajes de debug de otros, etc.
  3. Puedes mantener la versión estable (master) lista para copiar en el servidor real en cualquier momento que lo necesites o aplicar algún parche rápido en caso de detectar un error en producción.



Ir a la barra de herramientas