Git, Git Flow
Git, Git Flow
Git, Git Flow
¿Qué es Git?
Con Git, puede volver a varios estados de sus archivos. También puede hacer una copia de
su archivo, realizar cambios en esa copia y luego fusionar estos cambios en la copia
original.
Por ejemplo, podría estar trabajando en la página de inicio de un sitio web y descubrir que
no le gusta la barra de navegación. Pero al mismo tiempo, es posible que no desee
comenzar a alterar sus componentes porque podría empeorar. Con Git, puede crear una
copia idéntica de ese archivo y jugar con la barra de navegación. Luego, cuando esté
satisfecho con los cambios, puede fusionar la copia con el archivo original.
No está limitado a usar Git solo para archivos de código fuente; también puede usarlo para
realizar un seguimiento de archivos de texto o incluso imágenes. Esto significa que Git no
es solo para desarrolladores, cualquiera puede encontrarlo útil.
Para usar Git, debe instalarlo en su computadora. Para hacer esto, puede descargar la
última versión en el sitio web oficial (https://git-scm.com/). Puede descargar para su sistema
operativo desde las opciones dadas. También puede instalar Git usando la línea de
comandos, pero estos comandos varían con cada sistema operativo.
Instalación en Windows:
Instalación en Linux:
2. Escribe git --version para verificar la versión y que esta se haya instalado
correctamente:
3. Configura tu nombre de usuario y tu correo electrónico de Git mediante los
siguientes comandos. Esta información se asociará a todas las confirmaciones que
crees:
Fedora (dnf/yum)
1. Desde tu shell, instala Git usando "dnf" (o "yum" en versiones más antiguas de
Fedora):
2. Escribe git --version para verificar la versión y que esta se haya instalado
correctamente.
Para crear un repositorio desde cero, crearemos un nuevo directorio con el nombre de
nuestro proyecto. Por ejemplo proyecto_ejmp. Posteriormente inicializamos el repositorio
con git init.
Así, las órdenes a ejecutar en nuestro primer repositorio serían las siguientes:
mkdir proyecto_ejmp
cd proyecto_ejmp
git init
Si ahora listas el contenido del directorio proyecto_ejmp, utilizando la orden (ls -la),
verás que hay un nuevo directorio oculto .git. En este directorio se encuentran todos los
archivos necesarios para el control.
Clonar un repositorio:
Otra opción para tener nuestro primer repositorio sería clonar uno existente. Con esto tienes
una copia idéntica de un repositorio que se encuentre en un servidor remoto, de modo que
sí puedas beneficiarte de Git con el código descargado. El proceso es el siguiente:
Git Flow es un flujo de trabajo basado en Git, permite un trabajo en equipo para evitar la
menor cantidad de conflictos pull request, ideal en metodologías ágiles. Git Flow nos da un
modelo estricto de ramificación, se dice estricto porque se tiene una nomenclatura en las
ramas.
Primero se debe entender que cada rama añadida debe salir de ciertas ramas principales
(master, develop) para después ser integrada a otra rama.
Ramas principales:
● master (o también llamada ‘main’)
Es la rama principal de proyecto, donde va el código para generar la aplicación en
entornos de producción. Sobre ella no se debería desarrollar.
● develop
En esta rama se tienen las nuevas funcionalidades de la aplicación. No es
aconsejable hacer commit (guardar cambios) directamente sobre ella, excepto si son
cambios pequeños y que no afecten la lógica, por ejemplo, cambiar un texto.
● feature
Es una rama en la cual se va trabajar una nueva funcionalidad o modificación como
tal.
● bug
Como su nombre lo indica, es un error que se está corrigiendo, se dan en el
ambiente de desarrollo.
● support
Cuando se está trabajando en algún tema de soporte.
● release
Se da cuando se quiere lanzar una nueva versión, donde se debe pasar por pruebas
exhaustivas y se crea esta rama para todas esas pruebas.
● hotfix
Cuando se está tratando de corregir o hacer parche de algún bug que esté en
producción, por lo cual debe salir lo más rápido posible.
En este ejemplo analizaremos de donde se crea y a donde se deben integrar las ramas
creadas.
En la versión 0.1 se hizo la creación del proyecto y aplicación. A partir de allí se creó una
rama develop para el desarrollo de nuevas características, y a su vez se generaron dos
ramas feature (con nombres diferentes, pero con la palabra feature en ellas, por ejemplo
feature-admin-page) y una de las cuales fue terminada y mezclada con develop.
Si bien el proyecto recién fue creado por algún motivo un incidente surgió y se debe realizar
un “cambio en caliente”, por lo que se generó una rama llamada hotfix que permitirá
solucionar el incidente y debe ser mezclada con master y develop para luego ser borrada.
Finalmente tenemos la rama release generada a partir de develop y sobre la cual se harán
las respectivas pruebas para aprobar o no el código nuevo.