Forking Workflow
Cada contribuyente trabaja en su propio fork y propone cambios por Pull Request al repositorio principal.
Contexto
Proyectos open source o con contribuyentes externos a quienes no querés dar permiso de escritura en el repo principal.
Solución
- Cada persona hace fork del repo y trabaja en su copia.
- Los cambios llegan al repo principal (
upstream) por Pull Request. - Los mantenedores revisan y mergean; el resto solo tiene permiso de lectura.
- Dentro del fork se suele usar GitHub Flow.
BASH
git remote add upstream https://github.com/org/proyecto.git
git fetch upstream
git switch -c fix/typo upstream/main
git push origin fix/typo # luego PR hacia upstream
Cuándo NO aplicarlo
- Equipos internos de confianza: el fork agrega fricción (mantener sincronizado el fork) sin beneficio. Usá ramas en el mismo repo.
Tradeoffs
| Pro | Contra |
|---|---|
| Control total de quién escribe en el repo principal | Mantener el fork sincronizado |
| Ideal para contribuyentes externos | Más pasos para contribuir |
| Escala a comunidades grandes | Los CI de PRs desde forks tienen restricciones de secretos |
#git #branching #open-source #fork