Puede que te suene eso de Git o control de versiones con Git pero no sabes muy bien de qué se trata. Git es una herramienta de control de versiones y que sirve principalmente para controlar de forma eficiente y ordenada los cambios que realizamos a nuestro código fuente. Puede que al principio sea un poco difícil de entender pero en su esencia más básica es bastante sencillo y para comenzar a utilizarlo tan solo debes conocer unos pocos comandos, aunque luego te puedes complicar todo lo que quieras. Te dejo a continuación un vídeo tutorial de Git desde cero comenzando por su instalación en tu sistema de desarrollo, así como su utilización con la plataforma online Github.
Por qué debo utilizar Git?
Si programas a menudo y todavía no utilizas Git, hay una probabilidad bastante grande de que por lo general tu código sea poco ordenado y lo que es peor, que no tengas demasiado control del mismo. Podrías decirme cual fue el último cambio que hiciste a un fichero y en qué línea? Seguramente no o por lo menos, no con seguridad. Ahora imagínate que quieres hacer una prueba de un concepto nuevo en alguna parte de tu código, pero sin decidir todavía si al final lo dejarás implementado o no. Es muy probable que empieces a renombrar algunos ficheros a modo de «backup» (el clásico fichero_ok.ino o fichero_elbueno.ino acompañado de su amigo el fichero_elbuenodeverdadok.ino) o lo que es peor, copiar carpetas enteras a otro directorio para trabajar… Eso es totalmente insostenible, desordenado y poco eficiente.
Simplificándolo muchísimo, digamos que Git te permite añadir un pequeño comentario a cada cambio que hagas en tu código. Por ejemplo, empiezas a programar tu código Arduino con un sensor y cuando tienes listas un par de funciones para leer el valor del sensor y mostrarlo por la terminal, puedes realizar un «Commit» indicando como comentario «Código de lectura del sensor». No solo quedará el comentario registrado, sino que se marcará exactamente todas las líneas afectadas. Luego por supuesto seguirás con lo tuyo.
Vete por las ramas (Git Branch)
Las ramas en Git son extremadamente útiles y permiten crear como su fueran universos paralelos sobre tu código sin afectar a sus otras ramas. Piensa que tu código existe en forma de árbol que tiene ramas. Hay una rama principal que normalmente se llama Master y puedes trabajar ahí indefinidamente. Pero si en algún momento quieres probar una cosa nueva de la que no estas seguro si quedará, puedes crear una nueva rama, por ejemplo «prueba 1» (para eso se utiliza el comando checkout). En ese momento tienes una bifurcación que conserva el código que tenías actualmente, pero a partir de ahora los cambios que hagas se aplicarán solamente sobre la nueva rama.
En éste momento pueden pasar dos cosas: Que lo que hiciste no te convence por alguna oscura razón o bien que lo quieres dejar implementado. En el primer caso, simplemente descartas la rama borrándola y volverías a la rama principal (Master) a seguir con lo tuyo pero justo en el punto en lo que lo has dejado. Recuerda aquello de copiar mil carpetas y ficheros para volver atrás, pues con esto ya no es necesario, Git se encarga de dejar el directorio de trabajo tal y como estaba en ese preciso momento donde te fuiste a otra rama.
La segunda opción, es que el nuevo código que escribiste en una nueva rama quieras dejarlo de forma permanente y para eso se utiliza el comando Merge. Lo que hace básicamente es fusionar los cambios de la nueva rama con Master (bueno, puedes fusionar cualquier rama realmente, no solo Master). Esto es especialmente interesante cuando colaboras con otras personas. Los otros miembros pueden crear diferentes ramas con mejoras o funcionalidades nuevas y en un momento descartarlas o fusionarlas con el proyecto o rama principal.
Como has podido comprobar, Git funciona con comandos de texto que hay que escribir en una consola. Hay mucha gente a la que no le gusta mucho eso de escribir comandos (que siendo realistas, es muy cómodo creo yo y a mi me encanta, pero esto de los gustos es como los culos, cada uno tiene el suyo). Pero también existe entornos visuales con ventanitas y opciones por todos lados que pretenden facilitar la tarea con Git y no tener que recordar comandos. Uno que creo que está muy bien par alo poco que lo uso es Sourcetree de Atlassian y también es gratuito.
Servidor remote de Git (Github)
Existen actualmente unos pocos servicios que ofrezcan alojamiento de repositorios de Git, pero el que lo peta en la actualidad y recientemente comprado por Microsoft es Github. Tiene una interfaz bastante ligera y te deja alojar tantos repositorios como quieras siempre y cuando sean públicos.
Curso de Git desde cero
Ya no tienes excusa para no probar y utilizar un control de versiones con Git en tus proyectos, pero si todavía tienes dudas, aquí tienes un curso completo de Git desde cero que te lo explicará todo con mucho más detalle.
Esperamos que este articulo les sea de ayuda. Si deseas mas contenido sobre programación este atento a nuestra sección Zona Prog. Deja tus comentarios y comparte.