Apuntes Clase

Curso 2024-25 - IES El Rincón

Proyecto mantenido por ichigar

Escenario: Dos usuarios colaboran en un repositorio GitHub


Paso 1: Clonar el repositorio

Usuario1 y Usuario2 clonan el repositorio desde GitHub usando VS Code y lo abren:

Paso 2: Crear una nueva rama para hacer cambios

Nota: una rama es una versión independiente del proyecto donde los desarrolladores pueden trabajar en nuevas funcionalidades sin afectar el código principal.

Paso 3: Hacer cambios en el código

Nota: El comando git add añade los cambios al área de preparación, y git commit guarda esos cambios con un mensaje descriptivo.

Paso 4: Pull Requests en GitHub

Nota: Un Pull Request es una solicitud para que otros revisen los cambios hechos en una rama antes de fusionarlos con la rama principal (main).

Paso 5: Revisar y resolver conflictos

Nota: Fusionar significa combinar los cambios de una rama con otra.

Nota: Un conflicto ocurre cuando dos ramas tienen cambios contradictorios en las mismas líneas de un archivo.

Paso 6: Fusionar la rama de Usuario2

Paso 7: Actualizar las copias locales

Paso 8: Eliminar ramas locales

Cómo los usuarios no necesitan las ramas las pueden eliminar ejecutando.

Esta simulación muestra un flujo básico de trabajo colaborativo en GitHub utilizando VS Code, permitiendo a los usuarios trabajar de forma organizada y evitar sobrescribir el trabajo del otro.

Anexo. Nombres de ramas en grupos de trabajo

Tipo de Rama Convención de Nombres Descripción Ejemplos
Rama Principal main o master Rama principal y estable del proyecto; generalmente contiene código listo para producción. main, master
Rama de Desarrollo develop Rama para la integración de nuevas características antes de fusionarlas en main. develop
Rama de Características feature/nombre-de-la-caracteristica Utilizada para desarrollar nuevas funcionalidades. feature/login-page, feature/user-profile
Rama de Corrección bugfix/nombre-del-bug Usada para corregir errores menores o problemas específicos. bugfix/fix-login-bug, bugfix/ui-alignment
Rama de Soporte hotfix/nombre-del-hotfix Para aplicar correcciones urgentes y críticas en main o master. hotfix/security-patch, hotfix/critical-bug
Rama de Pruebas release/nombre-de-la-version Preparación de nuevas versiones; pruebas finales antes de fusionar en main. release/v1.0.0, release/2.1.5
Rama Experimental experiment/nombre-del-experimento Para pruebas rápidas o ideas no listas para producción. experiment/new-idea, experiment/test-feature
Rama de Documentación docs/nombre-del-documento Para actualizaciones o mejoras en la documentación del proyecto. docs/api-update, docs/readme-enhancement
Rama de Refactorización refactor/nombre-del-refactor Usada para reestructurar y mejorar el código o la organización de archivos sin cambiar su funcionalidad. refactor/project-structure, refactor/code-cleanup