Guía para contribuir en Proyecto - Duoc-Airways/PokeAPI GitHub Wiki

Explicación del modelo de ramas (main, develop, feature, etc.) y cómo colaborar mediante Pull Requests.

¿Cómo contribuir en el proyecto?

En primer lugar, es tener claro el Workflow para contribuir se está utilizando el Modelo "Ramas de Correción". El cual cuenta con 5 ramas en total, las cuales son: Main, Hotfix, Release, Develop y Feature; en donde solo Main y Develop serán ramas fijas.

🌳 Modelo de Ramas

Contamos con 5 tipos de ramas:

  • main: Rama principal, contiene la versión estable en producción.
  • develop: Rama base para desarrollo. Desde aquí se crean las ramas feature y release.
  • feature/: Ramas temporales para nuevas funcionalidades. Se basan en develop.
  • release/: Preparan cambios para pasar de develop a main. Se usan para revisión y testing.
  • hotfix/: Se usan solo para corregir errores urgentes directamente en main.

Modelo de Ramas


🛑 Reglas y restricciones

Obligatorio:

  • Todos los commits deben estar firmados y autorizados.
  • Pull Requests (PR) deben ser aprobados por otro miembro del equipo.
  • Resolver todos los comentarios antes del merge.

🔒 Restricciones:

  • No se permite hacer push directo a main.
  • No se permite usar hotfix sobre develop.
  • Solo release/ puede hacer merge hacia main.
  • No se permiten force push.

La forma de contribuir será la siguiente:

  1. En primer lugar, se debe ir al home principal del repositorio, y copiar el enlace como se ve en la imagen. image

  2. Posteriormente, crear carpeta local en nuestro escritorio ejemplo "Evaluación Formativa". En dicha carpeta se debe abrir terminal Git para "clonar" enlace de repositorio como se muestra en imagen; con los comandos git clone https://github.com/Duoc-Airways/PokeAPI.git

image

Para poder contribuir en el proyecto, de acuerdo al modelo mencionado, se debe seguir este paso a paso, teniendo en cuenta que siempre se debe agregar una nueva funcionalidad en rama temporal feature, basándose en rama Develop:

image

  • Comenzamos con los comandos git checkout develop y posteriormente crear la rama temporal feature: git checkout -b feature/getPokemon.
  • Una vez se hayan realizado los cambios, se deben guardar con los siguientes comandos.
  • git add . (el punto debe ir separado de "add" esto añadirá todos los cambios que realizaste).
  • git commit -m "feat: se implementó función para obtener Pokémon" (el "-m" es para añadir un mensaje. Siempre debe ser preciso y conciso).
  • Posteriormente, se debe subir al repositorio remoto, con el comando: git push origin feature/getPokemon.
  • Después, se debe realizar un PR (Pull Request) desde la web de Github. Desde la rama feature/getPokemon hacia develop, y una vez aprobado se encontrará en Develop.
  • Ahora necesitarás crear una rama Release para poder pasar a producción los cambios, por ejemplo con el comando: git checkout -b release/v2.0. Posteriormente subir los cambios: git push origin release/v2.0
  • Para finalizar, Desde Github realizar un Pull Request o también se puede realizar con comandos.

¿Cómo solucionar un problema en Producción con rama Hotfix?

  • Esto se realizará exclusivamente en emergencias, cuyo error en producción sea crítico. Para comenzar, se utilizarán los siguientes comandos: git checkout main git checkout -b hotfix/fix-nombre-error Una vez se haya arreglado el error, se ejecutan los comandos "git add ." y "git commit -m "fix: se corrige error urgente (descripción) en producción"" y se finaliza con el comando "git push origin hotfix/fix-nombre-error"

**Lanzar Cambios a Producción🚀

git checkout develop git pull origin develop git checkout -b release/v1.0 git push origin release/v1.0