🤓Los sistemas de control de versiones
Ahora pasemos de este grupo numeroso a un grupo reducido, somos cinco amigos tratando de escribir en la misma hoja. ¿Deberíamos intentar escribir todos al mismo tiempo? ¿Qué sucedería si intentásemos hacerlo?
Tal como podrás imaginar, el trabajo simultáneo de diferentes personas, puede llevarnos a la situación en la que uno escribe por encima del otro.
Un sistema de control de versiones, permite que los desarrolladores aúnen esfuerzos en una dirección, en la que minimicemos la posibilidad de reescribir el trabajo de otros.
Ahora bien, este modelo de trabajo, el sincrónico, es una perfecta explicación de los modelos más antiguos de este software de trabajo, los sistemas de control de versiones centralizados.
Los sistemas de control de versiones centralizados, consistían en una conexión constante a un servidor que contenía el código fuente de la aplicación, forzando al desarrollador a estar continuamente sincronizado con el servidor. Este modelo, aparte de la conexión constante, dada su naturaleza, no era muy eficiente para manejar las fusiones y conflictos entre las ramas.
¿Ramas? ¿Fusiones? ¿Conflictos? ¿De qué estamos hablando?
Antes de empezar con el concepto de ramas, fusiones y conflictos, terminemos de definir qué es GIT.
La descentralización en el mundo de la programación
GIT es un sistema de control de versiones descentralizado. El que sea descentralizado trae ventajas e inconvenientes, como todo. Pero en general, consideramos que es un paso hacia adelante.
Last updated