Contribuir a proyectos de código abierto (o incluso a repositorios privados) a través de pull requests (PR) es una habilidad fundamental para cualquier desarrollador. Este documento te guiará a través del proceso, asegurando que tus contribuciones sean claras, organizadas y bien recibidas por los mantenedores del proyecto.
1. Preparando tu pull request #
Antes de enviar un PR, sigue estos pasos para asegurarte de que tu contribución es válida y útil:
1.1. Sincroniza tu fork y rama #
Si estás trabajando en un fork de un repositorio, asegúrate de que tu código esté actualizado con la última versión del branch principal.
git checkout main
git pull upstream main
git checkout -b mi-nueva-feature
Si trabajas dentro del mismo repositorio, simplemente crea una nueva rama basada en la principal.
1.2. Sigue la guía de contribución #
Muchos proyectos tienen un archivo CONTRIBUTING.md
que describe cómo realizar contribuciones. Léelo atentamente para evitar errores y asegurarte de cumplir con las expectativas del proyecto.
1.3. Mantén un alcance reducido #
Un PR debe enfocarse en una tarea específica. Evita hacer cambios no relacionados en un mismo PR, ya que esto dificulta la revisión.
2. Implementación y pruebas #
2.1. Escribe código limpio y documentado #
Sigue las convenciones del proyecto y asegúrate de que tu código sea legible. Si agregas funciones nuevas, documenta su propósito con comentarios o docstrings.
2.2. Ejecuta las pruebas #
Si el proyecto tiene un sistema de pruebas automatizado (como cargo test
en Rust o pytest
en Python), asegúrate de que todas las pruebas pasen antes de enviar el PR.
cargo test
Si has agregado nuevas funcionalidades, considera incluir pruebas que validen tu implementación.
3. Creando el pull request #
3.1. Realiza un commit claro #
Usa mensajes de commit descriptivos que expliquen el propósito de cada cambio.
Ejemplo de buen mensaje de commit:
git commit -m "Corrige error en cálculo de experiencia de Pokémon"
Evita mensajes vagos como:
git commit -m "Arreglado bug"
3.2. Escribe un buen mensaje en el pr #
Cuando crees el PR, proporciona una descripción clara de lo que hace tu contribución:
- ¿Qué problema resuelve?
- ¿Cómo lo solucionaste?
- ¿Incluye pruebas o documentación adicional?
Ejemplo:
### Descripción
Este PR corrige un error en el cálculo de la experiencia para subir de nivel en la simulación de batallas Pokémon.
### Cambios realizados
- Se corrigió la fórmula de experiencia en `calcular_experiencia()`
- Se agregaron pruebas en `tests/batalla.rs`
### Pruebas
- Se ejecutaron `cargo test` y todas pasaron correctamente.
3.3. Asigna revisores y etiquetas #
Si el repositorio tiene asignaciones de revisores o etiquetas (labels
), úsalas para que los mantenedores sepan el propósito del PR. Algunas plataformas asignan automáticamente a revisores en función del código modificado.
4. Proceso de revisión #
Una vez enviado el PR:
- Espera Comentarios: Los mantenedores pueden sugerir cambios o hacer preguntas.
- Responde y Ajusta tu Código: Si te piden modificaciones, actualiza tu código y realiza un nuevo commit.
- Rebase si es Necesario: Si hay cambios en la rama principal, usa
git rebase
para mantener tu PR actualizado sin merge commits innecesarios.
git fetch upstream
git rebase upstream/main
git push --force
5. ¡Pull request aprobado y mergeado! 🎉 #
Una vez aprobado, el PR será fusionado en la rama principal. En algunos proyectos, los mantenedores lo hacen por ti; en otros, puedes hacerlo tú mismo si tienes permisos.
5.1. Elimina tu rama #
Si ya no necesitas tu rama después del merge, elimínala para mantener tu entorno limpio.
git branch -d mi-nueva-feature
git push origin --delete mi-nueva-feature
5.2. Continúa contribuyendo #
Si deseas seguir colaborando en el proyecto, mantén tu fork sincronizado y sigue las mejores prácticas de contribución.
Conclusión #
Realizar un buen PR es más que simplemente enviar código: es asegurarte de que tu contribución sea clara, útil y fácil de revisar. Siguiendo estos pasos, harás que tu PR sea más eficiente y apreciado por la comunidad del proyecto.
Siéntete libre de adaptar este proceso según las normas de cada repositorio. ¡Feliz coding y que tu PR sea aprobado rápidamente! 🚀