docs/git-flow.md

45 lines
1.8 KiB
Markdown

# Flujo de Trabajo con Git
Este repositorio usa un flujo de trabajo simple centrado en una única rama principal: `main`.
## 🌳 Rama Principal
| Rama | Descripción |
|--------|--------------------------------------------------------------|
| `main` | Rama única y estable. Representa la versión en producción. |
## 🌱 Ramas Temporales
Los desarrolladores deben crear ramas desde `main` para trabajar en cambios, y luego abrir Pull Requests (PRs) de vuelta a `main`.
| Tipo | Prefijo | Ejemplo |
|-----------------|---------------|------------------------------|
| Funcionalidad | `feature/` | `feature/login` |
| Corrección | `bugfix/` | `bugfix/footer-alignment` |
| Parche urgente | `hotfix/` | `hotfix/fix-crash-on-login` |
| Release (opcional) | `release/` | `release/v1.0` |
> Todas estas ramas son **temporales** y deben ser eliminadas tras el merge.
## ✅ Flujo de Trabajo
1. **Crear una rama** desde `main` (`git checkout -b feature/nueva-funcionalidad`).
2. **Desarrollar** y commitear localmente.
3. **Hacer push** de la rama al repositorio remoto.
4. **Abrir un Pull Request hacia `main`**.
5. **Esperar mínimo 1 aprobación** de alguien con permisos.
6. **Mergear** con squash (preferido) o rebase.
7. **Eliminar la rama** (opcional pero recomendado).
## 🔐 Reglas de Protección para `main`
- ❌ No se puede hacer push directo.
- ❌ No se permite eliminar `main`.
- ✅ Se requiere al menos **1 aprobación de un colaborador** para mergear un PR.
- ✅ No se permite `force push`.
- ✅ Todos deben seguir estas reglas (incluyendo administradores).
---
_Para dudas sobre el flujo de trabajo, contacta con el equipo de desarrollo._