Componentes del flujo de GitHub

Completado

En esta unidad, se revisarán los siguientes componentes del flujo de GitHub:

  • Ramas
  • Confirmaciones
  • Solicitudes de incorporación de cambios
  • El flujo de GitHub

Qué son las ramas

En la última sección, hemos creado un nuevo archivo y una nueva rama en los repositorios.

Las ramas son una parte esencial de la experiencia de GitHub porque en ellas es donde podemos realizar cambios sin que afecten a todo el proyecto en el que estamos trabajando.

La rama es un lugar seguro para experimentar con nuevas características o correcciones. Si comete un error, puede revertir sus cambios o insertar más cambios para subsanarlo. Los cambios no se actualizarán en la rama predeterminada hasta que combine la rama.

Nota:

Como alternativa, puede crear una nueva rama y extraerla del repositorio usando Git en un terminal. El comando sería git checkout -b newBranchName

¿Qué son las confirmaciones?

En la unidad anterior, agregó un nuevo archivo al repositorio insertando una confirmación. Revisemos brevemente qué son las confirmaciones.

Una confirmación es un cambio en uno o varios archivos de una rama. Cada vez que se crea una confirmación, se le asigna un identificador único y se realiza un seguimiento de ella, junto con la hora y el colaborador. Las confirmaciones proporcionan un registro de auditoría claro para todas las personas que revisen el historial de un archivo o un elemento vinculado, como una incidencia o una solicitud de incorporación de cambios.

Captura de pantalla de una lista de las confirmaciones de GitHub en una rama principal.

Dentro de un repositorio de Git, un archivo puede existir en varios estados válidos durante su paso por el proceso de control de versiones. Los estados principales de un archivo en un repositorio Git son Sin seguimiento y Con seguimiento.

Sin seguimiento: estado inicial de un archivo cuando aún no forma parte del repositorio de Git. Git desconoce su existencia.

Con seguimiento: un archivo con seguimiento es aquel que Git supervisa activamente. Puede estar en uno de los siguientes subestados:

  • Sin modificar: se realiza un seguimiento del archivo, pero no se ha modificado desde la última confirmación.
  • Modificado: el archivo se ha cambiado desde la última confirmación, pero estos cambios aún no están almacenados provisionalmente para la siguiente confirmación.
  • Almacenado provisionalmente: el archivo se ha modificado y los cambios se han agregado al área de almacenamiento provisional (también conocida como índice). Estos cambios están listos para confirmarse.
  • Confirmado: el archivo se encuentra en la base de datos del repositorio. Representa la versión confirmada más reciente del archivo.

Estos estados y subestados son importantes para colaborar con el equipo y saber dónde se encuentra cada confirmación en el proceso del proyecto. Ahora vamos a pasar a las solicitudes de incorporación de cambios.

¿Qué son las solicitudes de incorporación de cambios?

Una solicitud de incorporación de cambios es un mecanismo que sirve para indicar que las confirmaciones de una rama están listas para combinarse en otra.

El miembro del equipo que envía la solicitud de cambios normalmente pide a uno o varios revisores que comprueben el código y aprueben la combinación. Estos revisores podrán comentar los cambios, agregar otros o usar la solicitud de incorporación de cambios para realizar un análisis más exhaustivo.

Una vez que los cambios se han aprobado (si es necesario), la rama de origen de la solicitud de incorporación de cambios (la rama de comparación) se combina con la rama base.

Captura de pantalla de una solicitud de cambios y un comentario dentro de ella.

Ahora que conocemos todos los ingredientes, revisemos el flujo de GitHub.

El flujo de GitHub

Captura de pantalla que muestra una representación visual del flujo de GitHub en un formato lineal que incluye una nueva rama, confirmaciones, solicitud de cambios y la combinación de los cambios de nuevo a la rama principal en ese orden.

El flujo de GitHub se puede definir como un flujo de trabajo ligero que permite experimentar de forma segura. Puede probar nuevas ideas y colaboraciones con su equipo mediante ramas, solicitudes de incorporación de cambios y combinaciones.

Ahora que conocemos los conceptos básicos de GitHub, podemos recorrer el flujo de GitHub y sus componentes.

  1. Comience por crear una rama para que los cambios, características y correcciones que cree no afecten a la rama principal.
  2. A continuación, realice los cambios. Se recomienda implementar cambios en la rama de características antes de combinarlos en la rama principal. De esta forma, se tiene la seguridad de que los cambios son válidos en un entorno de producción.
  3. Ahora, cree una solicitud de cambios para pedir comentarios a los colaboradores. La revisión de solicitude sde cambios es tan valiosa que algunos repositorios requieren una revisión aprobatoria antes de que estas se puedan fusionar.
  4. A continuación, revise e implemente los comentarios de sus colaboradores.
  5. Una vez que se sienta muy bien con los cambios, es el momento de aprobar la solicitud de cambios y combinarla en la rama principal.
  6. Por último, puede eliminar la rama. Al eliminar la rama se indica que el trabajo en la rama se ha completado y se evita que usted u otros usuarios empleen accidentalmente ramas antiguas.

Eso es todo, acaba de recorrer el ciclo de un flujo de GitHub.

Vamos a pasar a la siguiente sección donde trataremos las diferencias entre incidencias y discusiones.