Entrar al aula
×

Conociendo GIT

GIT  es una herramienta de control de versiones. Es solo una de ellas, hay muchas más, aunque GIT es el más utilizado hoy en día (en un enlace al final de la unidad te dejo el listado completo).

Estas herramientas son útiles por ejemplo, en situaciones como esta: 

Tenemos el código de un programa o aplicación que funciona bien, sin errores. En ese momento, nos piden que lo ampliemos con nuevas características y nos ponemos manos a la obra. A veces solo nos piden cambiar algún texto y eso es sencillo, solo tenemos que modificar unas pocas líneas en algún fichero de código.

Pero en otras ocasiones, tenemos que desarrollar una nueva funcionalidad compleja que precisa que modifiquemos o añadamos muchas líneas en muchos ficheros.

Imagina que cuando ya hemos hecho muchos cambios, mucho código nuevo, muchas líneas escritas... o bien nos dicen que no, que ese cambio ya no quieren que lo hagamos, o bien nos damos cuenta que por el camino que vamos va a ser imposible llegar a la solución a la que esperábamos llegar... ¿qué hacemos? Tenemos que deshacer todos los cambios y dejarlo todo como estaba al principio.

Por supuesto que no nos acordamos dónde están todos los cambios que hemos escrito, y aunque los intentemos deshacer a mano uno a uno, siempre quedará alguna línea de código olvidada en algún sitio que hará que ya no funcione exactamente igual que al principio. Tendríamos que tener una copia exacta de cómo estaba la aplicación al principio. Pues para eso existen esas herramientas.

 

También se usan cuando varias personas están haciendo cambios a la vez sobre la misma aplicación: imagina que estamos escribiendo código en un fichero y mientras escribimos, va apareciendo más código que están escribiendo a la vez otros compañeros... sería una situación imposible de manejar.

En este caso, las herramientas de control de versiones se encargan de avisarnos: “oye, alguien está escribiendo código en ese fichero, poneros de acuerdo a ver quién tiene prioridad, no os piséis”.

Usuarios modificando un fichero simultáneamente

Los SCVSistema de Control de Versiones o VCS en inglés trabajan de la siguiente forma:

Como buenos programadores, hemos creado un programa o aplicación informática (y puede ser que la hayamos subido a internet o vendido a distintos clientes).

En ese momento ya no podemos (o no debemos) añadir o modificar código en dicha aplicación, porque cualquier modificación que hagamos, será vista por todos los usuarios que la estén utilizando...

...así que, es el momento en que pedimos ayuda a un SCV.

Los SCV mantendrán la aplicación intacta, y nos ofrecerán una copia de la misma, donde podemos seguir trabajando (haciendo cambios, modificaciones...). Estos cambios serán añadidos a la aplicación, solo cuando ya estén terminados y hayamos comprobado que funcionan bien y que no van a afectar o estropear otra cosa que ya estaba funcionando bien.

No nos interesa que los demás vean nuestro código cuando está a medio construir, queremos que lo vean solo cuando ya está terminado y funcionando bien. Si tiene algún error lo vemos solo nosotros y hasta que no esté corregido, no incluimos el código de las modificaciones en la aplicación.