Configuración de Proyectos de Software con Git y GitHub
Clase 37 de 42 • Curso de Git y GitHub
Resumen
¿Cómo integrar herramientas de Git y GitHub en un proyecto real?
El mundo del desarrollo de software se enriquece con herramientas colaborativas que facilitan el trabajo en equipo y la gestión de proyectos. Git y GitHub son dos de estos recursos esenciales que, cuando se integran correctamente, facilitan la colaboración y aseguran un flujo de trabajo eficiente. Aquí exploraremos cómo aprovechar al máximo estas herramientas y unirlas en un proyecto real.
¿Cómo crear un repositorio en GitHub y clonarlo de manera local?
Para comenzar, necesitas crear un repositorio en GitHub y clonarlo en tu entorno local. Asegúrate de contar con un README.md
para documentar tu proyecto desde el inicio. Una vez en tu máquina local, abre el repositorio en un editor de código como Visual Studio Code. Este será el punto de partida para organizar tu desarrollo.
- Crear el directorio
.github
: Usa este directorio para almacenar plantillas y otras configuraciones. - Agregar plantillas: Añade un archivo como
pull-request-template.md
para formalizar los procesos colaborativos y asegurarte de que todos los miembros del equipo siguen las mismas pautas al crear un pull request.
mkdir .github
touch .github/pull-request-template.md
¿Cómo gestionar ramas y commits de manera efectiva?
En Git, siempre es recomendable trabajar en ramas diferentes al main
para evitar conflictos y mantener el código base seguro. Crea una nueva rama para cada característica o tarea que estés desarrollando.
- Crear una nueva rama:
- Siempre asegúrate de estar fuera de la rama principal cuando desarrolles nuevas características.
- Usa un nombre descriptivo para la rama que refleje la tarea que estás realizando.
git checkout -b mi-nueva-rama
- Realizar commits: Asegúrate de que cada commit describa claramente los cambios realizados.
git add .
git commit -m "Implementación de nueva API"
¿Cómo desarrollar y probar una API en Python?
Hemos hablado sobre la configuración del entorno de desarrollo; ahora, toca desarrollar una simple API en Python.
-
Configurar la estructura del proyecto:
- Crea una carpeta dedicada para tu API, por ejemplo,
api
. - Añade un archivo
app.py
yrequirements.txt
en la raíz de tu carpeta de API.
- Crea una carpeta dedicada para tu API, por ejemplo,
-
Instalar las dependencias necesarias:
- Asegúrate de que
requirements.txt
contenga todos los paquetes necesarios.
- Asegúrate de que
pip3 install -r requirements.txt
- Desplegar la API:
- Usa herramientas como
uvicorn
para lanzar tu servidor y verificar que todo funcione correctamente.
- Usa herramientas como
uvicorn app:app --reload
¿Cómo efectuar un pull request en GitHub?
Al finalizar tus cambios y haberlos probado adecuadamente, es hora de subirlos a GitHub y abrir un pull request. Esto no solo integra tus cambios al repositorio principal, sino que también permite revisiones de tus compañeros de equipo.
- Subir cambios a GitHub:
- Asegúrate de estar en la rama correcta y empuja tus cambios.
git push -u origin mi-nueva-rama
- Crear un pull request:
- Utiliza el archivo
pull-request-template.md
para seguir una guía estructurada en el momento de realizar el pull request.
- Utiliza el archivo
Compartir una base común, usando las plantillas y el flujo de trabajo explicados, asegura que todos los miembros del equipo estén alineados y que el proyecto avance sin contratiempos.
Consejos adicionales
- Nunca trabajes directamente en
main
: Esto protege la integridad del proyecto principal y permite un flujo de desarrollo más organizado. - Utiliza plantillas: Tanto para issues como para pull requests, asegurando que toda la comunicación sea clara y relevante.
- Revisión de código colaborativo: Anima a tus compañeros a revisar el código antes de fusionarlo en el
main
, esto ayuda a detectar errores más temprano y aprender de los diferentes enfoques en el equipo.
Este proceso asegura no solo una correcta integración de herramientas, sino que también fomenta un ambiente de trabajo colaborativo y organizado, esencial en todo proyecto de software.