- Aprende a utilizar Github en tus proyectos Micropython. Parte 1
- Aprende a utilizar Github en tus proyectos Micropython. Parte 2
En esta segunda parte de esta serie de artículos dedicados al uso de Git y Github con Micropython te explico como crear un repositorio local y otro remoto y como utilizar GitHub Desktop para sincronizar los cambios entre ambos.
Introducción
Git es una herramientas fabulosa que nos permite mantener nuestros programas ordenados y actualizados, pudiendo llevar un control preciso de los cambios que se realizan a lo largo de las distintas versiones.
Github es un servicio en la nube basado en Git que además nos facilita trabajar de manera colaborativa, compartir nuestros proyectos públicamente, documentarlos ampliamente empleando wikis y muchas otras funciones.
En lo que sigue te voy a mostrar lo sencillo que es aprovechar todas esas ventajas y funciones en tus proyectos con Micropython.
Repositorios
Un repositorio es un “lugar” donde se alojan nuestros archivos, que pueden ser programas, documentos de texto, imágenes o lo que sea que contenga nuestro proyecto. Puedes pensarlo como una carpeta dentro de la cual guardas lo que te interesa.
Un repositorio puede estar alojado en una computadora, en cuyo caso decimos que es un repositorio local o en la nube, en cuyo caso le llamamos repositorio remoto.
Lo que yo uso y te recomiento es que tengas los dos, uno local y otro remoto y que los mantengas sincronizados para que ambos tengan el mismo contenido.
El repositorio local puede estar en cualquier carpeta dentro de tu sistema de archivos, por ejemplo una carpeta llamada “Proyectos”.
El repositorio remoto va a estar alojado en Github, así que debes empezar creando una cuenta para poder disponer de dicho espacio.
Github te permite crear varios repositorios. Puedes tener un repositorio por proyecto o un solo repositorio con archivos de distintos proyectos, eso depende de tu criterio.
Creando una cuenta en Github
Crear una cuenta en Github no tiene complicaciones especiales, debes ir siguiendo los pasos como con cualquier otro servicio web.
Al ingresar a Github debes hacer click en Sign Up e introducir tu dirección de mail y elegir una contraseña y un nombre de usuario. Después te pedirá verificar que eres humano y que compruebes tu dirección de mail. Una vez completados estos pasos, tu cuenta ya estará creada.
Al terminar el proceso, veras una pantalla como la siguiente, que es el Dashboard o Panel de Control de tu cuenta:
El Dashboard se puede personalizar con tu información personal, foto o logo y muchos otros elementos, como puedes averiguar si lo exploras un poco.
Instalando Github desktop
Como te conté en la primer parte de esta serie de artículos, Git se maneja desde una ventana de comandos. Aprenderlos a todos no es difícil pero lleva su tiempo y tal vez no valga la pena si no lo usas tan frecuentemente. En ese caso es preferible instalar un cliente con interface gráfica que sea mas sencillo de utilizar como Github Desktop, que es totalmente gratuito y está disponible para Mac y Windows (no funciona en Linux, pero hay otros similares).
Debes descargarlo desde su página y luego ejecutarlo y completar la instalación.
Una vez terminada la instalación, debes configurar algunos parámetros para que se pueda conectar con tu cuenta de Github. Para ello debes ir en el menú principal a File – Options.
En esta ventana hay varias configuraciones, revisaremos sólo las que sean indispensables.
Lo primero será conectar con la cuenta de Github, para lo cual debes hacer click en el botón “Sign into GitHub.com”, acceder a tu cuenta y autorizar el uso de la aplicación.
Luego, dentro de la misma ventana de opciones, en Git debes escribir un nombre por el que identificarán las modificaciones y tu mail (el mismo que usaste al crear la cuenta de GitHub).
Ahora vas a crear tu primer repositorio, para guardar tu primer proyecto en GitHub. Para eso graba los cambios dando click a Save y cerrando la ventana de Options y selecciona en el menú File – New Repositoriy:
Completa el nombre del repositorio, la descripción y elige la carpeta donde se guardaran los repositorios locales. Te sugiero que marques la casilla para incluir un archivo README y elige una licencia para tu proyecto.
Cuando pulses “Create repository” se creará la carpeta del repositorio local y la aplicación te preguntará si quieres también crear el repositorio remoto:
Pulsamos “Publish repository” y la aplicación te preguntará si mantienes el nombre y la descripción y si el repositorio será privado o público.
Lo dejamos privado por ahora (se puede modificar con facilidad después), pulsa otra vez en “Publish repository” y si ahora miras el Dashboard de GitHub, verás que también se creó el repositorio allí.
Si le das click al nombre del repositorio, lo abrirás y podrás ver mas detalles:
La frase de la descripción “El típico led que parpadea” es el contenido del archivo README que luego puedes editar y modificar con la información que quieras poner acerca de tu proyecto.
Escribiendo el código
Vamos ahora a escribir código y ver cómo se publica en los repositorios, tanto local como remoto.
Para esto puedes usar cualquier editor o IDE, como Thonny, Mu o cualquier otro. No es necesario que el editor tenga ninguna integración con Git porque lo único que harás será simplemente guardar los archivos dentro de la carpeta del repositorio local.
Para continuar con la explicación escribe este sencillo código de ejemplo (yo utilicé una Pico pero cualquier otra placa también sirve y como editor usé Thonny)
#Led parpadeante from machine import Pin from time import sleep led = Pin (25, Pin.OUT) while (True): led.on () sleep (1) led.off () sleep (1)
Y luego, lo único que debes hacer es salvar el código, grabarlo en la carpeta del repositorio local (en mi caso es la carpeta Blink dentro de Repos en el Escritorio de mi computadora)
Si abres Github Desktop, verás que la aplicación está monitoreando la actividad de la carpeta local y se ha dado cuenta que grabaste allí el programa. Te mostrará el contenido y te invitará a realizar un Commit, que es como tomar una “foto” del cambio que acabas de realizar:
Escribe una descripción y pulsa “Commit to main”. La aplicación te sugerirá que envíes este Commit al repositorio remoto, es decir que hagas un Push:
Dale click al botón “Push origin” y luego de unos segundos de actividad puedes ver el resultado en el repositorio remoto:
Prueba ahora a realizar alguna modificación al programa, por ejemplo cambiar los tiempos en las instrucciones sleep y guarda el archivo con el mismo nombre en el mismo lugar, la carpeta del repo local.
Si abres Github Desktop, verás que ha notado las modificaciones, las muestra y te sugiere un nuevo Commit y si lo aceptas, un nuevo Push
Que como antes se refleja en el repo remoto:
El flujo de trabajo es sencillo entonces: guardar el archivo con el código en la carpeta del repositorio local, abrir Github desktop, hacer el Commit y luego hacer el Push.
Haciendo cambios en repo remoto
También puede suceder que en vez de hacer modificaciones en el repositorio local, hagas algo en el remoto.
Por ejemplo, puede que edites el archivo README para hacer mas completa la descripción de tu proyecto (también tienes el mismo archivo en el repo local, lo puedes hacer de las dos formas).
Digamos que lo cambias y lo dejas como se ve en la siguiente imagen (este archivo utiliza el formato Markdown, puedes ver mas detalles aquí)
Luego le das al botón “Commit changes” para ver los resultados:
Pero estas modificaciones fueron hechas en el servidor remoto y debes sincronizar con el local para que tengan el mismo contenido. Para ello vas a Github desktop pulsas arriba “Fetch origin” para que revise el repo remoto y te dirá que efectivamente hay cambios y te sugiere que hagas un Pull, que es justo lo opuesto al Push, es decir descarga modificaciones del repo remoto.
Pulsa “Pull origin” y la aplicación descargará los cambios al repositorio local
Listo! Ya comenzaste un proyecto, le hiciste modificaciones al programa y las tienes correctamente guardadas en los dos repositorios.
Conclusiones
En este artículo vimos la operación básica o flujo de trabajo para guardar nuestro código (o cualquier otro archivo) en un repositorio local y como sincronizarlo con un repositorio remoto de GitHub.
Empezamos con los detalles de creación de una cuenta en el servidor, la instalación de un cliente de Git como GitHub Desktop, su configuración y las acciones mas elementales como realizar un Commit, hacer Push y también Pull.
Con estas ideas básicas ya puedes empezar a trabajar con GitHub y sacar provecho de sus geniales características. Hay cientos de otras posibilidades que puedes ir descubriendo. Algunas de ellas las analizaré en futuros artícuos.
Hasta la próxima!