Los sistemas de control de versiones
Last updated
Was this helpful?
Last updated
Was this helpful?
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.
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.
No requiere una conexión permanente con un servidor.
Requiere un nivel técnico mucho más alto.
Es más rápido y ligero, ya que las operaciones se realizan localmente, es decir, en la máquina.
Tiene comandos más tediosos.
GIT facilita la creación y el manejo de ramas.
Su interfaz y su accessibilidad son deficientes.
GIT es ahora mismo el estándar de control de versiones, además de ser open source.
Consume muchos recursos.