El concepto de ramificación en Git
La herramienta más útil en Git son las ramas. Permiten trabajar en paralelo en un proyecto, cambiando según sea necesario entre ramas, resolviendo diversas tareas. Veamos con un ejemplo, cuál es la esencia de las ramas y cómo se usan en la práctica.
Entonces, como ya sabes, por defecto tenemos
una rama: master.
Normalmente, esta rama se considera la principal.
Sin embargo, se pueden crear
ramas adicionales, generalmente para resolver tareas
específicas del proyecto.
Al crear una nueva rama, tendrá copias de los archivos de nuestro proyecto. Escribiremos código en ellos, y luego, cuando la tarea esté completada, combinaremos (fusionaremos) el código de la nueva rama con nuestra rama principal. Así, se puede trabajar en paralelo en varios problemas, de modo que no se interfieran entre sí. Y, a medida que estén listos, enviar los problemas resueltos a producción (es decir, a los usuarios para su uso).
Al mismo tiempo, al cambiar entre ramas, Git mismo cambiará los archivos en la carpeta de tu proyecto. Es decir, unos archivos desaparecerán y se mostrarán otros. También cambiarán los textos de los archivos, si difieren de una rama a otra. Este es un punto importante, que los principiantes no siempre entienden. Por lo tanto, una vez más: cuando cambies de rama en la terminal, tus archivos y los textos en ellos cambiarán de acuerdo con la rama. ¡Físicamente! ¡Por sí mismos! ¡Directamente en el editor abierto el texto de tu archivo cambiará a otro! Es genial y muy conveniente.
Veamos con un ejemplo cómo se hace esto en la práctica.
Supongamos que tienes un proyecto.
En la rama master se encuentra
su versión actual en producción, que
utilizan los usuarios.
Supongamos que estás desarrollando una nueva
característica. Para ello, creaste una nueva
rama feature. En ella escribes
código, implementando la tarea que necesitas.
De repente suena el teléfono y tu jefe
te dice que se ha encontrado un
error grave en el proyecto y que es urgente
solucionarlo.
Para ello, creas una rama fix,
copiando en ella todo el código del proyecto
desde la rama master. Escribes
el código que corrige el error, y luego
fusionas este código en la
rama principal master y envías
este código a producción.
Luego cambias a la rama feature
y continúas trabajando tranquilamente
en tu característica. Cuando esté
terminada, la fusionas
en la rama principal master.
En las siguientes lecciones, continuaremos familiarizándonos con las ramas en la práctica.