GitHub — forks, upstream y contribuciones
Una rama vive dentro de un repositorio; un fork es otro repositorio conectado al original. El fork te da un espacio donde puedes publicar cambios sin permiso de escritura en el proyecto original, llamado upstream.
Configurar el flujo
Sección titulada «Configurar el flujo»- En GitHub, crea un fork del repositorio original.
- Clona tu fork, que será
origin. - Añade el repositorio original como
upstream.
git clone https://github.com/TU-USUARIO/proyecto.gitcd proyectogit remote add upstream https://github.com/ORGANIZACION/proyecto.gitgit remote -vUna convención clara es: origin = tu fork, upstream = proyecto original. No los intercambies: el push normal debe ir a tu fork.
Mantener tu fork actualizado
Sección titulada «Mantener tu fork actualizado»git switch maingit fetch upstreamgit switch maingit merge --ff-only upstream/maingit push origin mainSi el equipo trabaja con rebase y tu main local no se comparte, también puedes usar git rebase upstream/main. No reescribas una rama en la que otra persona esté trabajando.
Proponer un cambio
Sección titulada «Proponer un cambio»git switch -c fix/documentacion# editar archivos, probar y confirmargit add README.mdgit commit -m "docs: aclarar instalación"git push -u origin fix/documentacionDespués abre una Pull Request desde TU-USUARIO:fix/documentacion hacia ORGANIZACION:main. Describe el problema, la solución, cómo verificaste el cambio y cualquier limitación. Si el repositorio lo permite, activa “Allow edits and access to secrets by maintainers” solo cuando entiendas sus implicaciones, especialmente si la rama contiene workflows.
Sincronizar durante la revisión
Sección titulada «Sincronizar durante la revisión»git fetch upstreamgit switch fix/documentaciongit rebase upstream/maingit push --force-with-lease origin fix/documentacionSi el rebase no es necesario, puedes integrar upstream/main con merge. Elige una estrategia compatible con las reglas del proyecto y explica los conflictos en la PR.
Un fork no es una copia abandonada: conserva su relación con el original y puede sincronizarse desde GitHub o desde Git. Consulta la guía oficial de forks.