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 ramasfeatureyrelease.feature/: Ramas temporales para nuevas funcionalidades. Se basan endevelop.release/: Preparan cambios para pasar dedevelopamain. Se usan para revisión y testing.hotfix/: Se usan solo para corregir errores urgentes directamente enmain.
🛑 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
pushdirecto amain. - No se permite usar
hotfixsobredevelop. - Solo
release/puede hacer merge haciamain. - No se permiten
force push.
La forma de contribuir será la siguiente:
-
En primer lugar, se debe ir al home principal del repositorio, y copiar el enlace como se ve en la imagen.
-
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
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:
- 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