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