• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Programando Apps

Desarrollo de apps nativas para iOS y Android

  • SERVICIOS
  • Tutoriales
  • blog
  • contacto

Que es un sistema de control de versiones

30 enero, 2020 by George

Hay cierta confusión en lo que se refiere a lo que es un sistema de control de versiones, ya que , probablemente habremos oido hablar acerca de Github, git, bitbucket, SourceSafe, Mercurial …Pero ¿Qué es exactamente un sistema de control de versiones?

¿Qué es un Sistema Control de Versiones?

Un sistema de control de versiones es aquel que nos permite registrar los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo. Este tipo de sistemas nos permiten volver en el tiempo a una versión anterior y, de este modo, salvar nuestro trabajo o recuperar una versión anterior de un archivo en concreto. Además no solo nos permite poder llevar un seguimiento de nuestros archivos en el tiempo, sino también, y esto es realmente importante cuando trabajamos en equipo, nos permiten llevar un seguimiento de quien ha hecho dichos cambios y de que es lo que ha cambiado, algo extremadamente útil en proyectos en los que colaboramos con mas personas.

Ventajas de usar un sistema de control de versiones

Usar un sistema de control de versiones no solo nos va a permitir colaborar con otras personas en distintos proyectos en los que estemos trabajando, sino que también nos va a dar una gran tranquilidad a la hora de trabajar, ya que si integramos un sistema de control de versiones en nuestro flujo de trabajo (workflow) podremos tener una gran tranquilidad en caso de perdidas de datos de nuestro ordenador o discos duros, ya que nuestros archivos estarán a salvo en todo momento, no solo a salvo, sino que , como comentamos, dispondremos de un histórico de cambios.

En cuanto al histórico de cambios, si utilizamos un sistema de control de versiones, podremos obtener un seguimiento de nuestros archivos a lo largo del tiempo, y no solo saber que cambios se han realizado en algunos archivos en concreto, sino saber cuando y quien realizo dichos cambios. Pudiendo siempre que lo necesitemos volver a una versión anterior de los mismos.

Otra de las ventajas que nos ofrece un sistema de control de versiones es que podemos volver a una versión anterior con mucha facilidad, algo que es muy útil cuando por ejemplo queremos comprobar ciertas funcionalidades que hemos añadido a nuestro proyecto y , de repente, vemos que en la nueva version el comportamiento es distinto al anterior. De esta forma podemos volver a la versión anterior que teníamos funcionando correctamente y ver de que forma los nuevos cambios han «estropeado» un comportamiento que inicialmente erra el esperado 🙂

Una ventaja muy utilizada es la de poder crear pruebas con nuevas funcionalidades sin tener que tener por si no funcionarán como esperamos. Podemos crear una nueva version, probar los cambios que queramos realizar, y una vez probados y comprobados continuar el desarrollo desde ese punto. En el caso que no sea lo que esperamos, siempre podemos volver a una versión anterior.

Algo muy extendido es el trabajo en equipo, en la que cada miembro del mismo desarrolla una parte del proyecto. Gracias a un sistema de control de versiones podemos estar seguros que todos los miembros del equipo tendrán las versiones actualizadas de las diferentes partes del proyecto, algo que agiliza mucho la forma de trabajar, sobretodo en proyectos grandes.

Cuando trabajamos con mas personas en un proyecto, gracias a integrar en nuestro workflow un sistema de control de versiones, nos permite reducir los posibles conflictos entre las diferentes partes de un proyecto, ya que al utilizar un sistema de control de versiones podemos prevenir que un usuario «pise» ciertos archivos en los que este trabajando otro usuario. De esta forma podemos tener mejor organizado a nuestro equipo delegando ciertas tareas a cada una de las partes teniendo la tranquilidad de que todos los miembros trabajarán con la ultima versión de los archivos.

Herramientas de control de versiones

Hemos visto que es un sistema de control de versiones, pero en muchas ocasiones se cree que este es implemente la herramienta que utilizamos para ello. En el caso de github o bitbucket , ambas son muy buenas opciones para trabajar y para levar un control de versiones, , ademas de estar muy extendidas, pero estas herramientas no son en sí un sistema de control de versiones. En realidad ambas herramientas trabajan con git , que ya es propiamente el software de control de versiones. Git además de ser una gran opción para llevar un control de versiones, es un software libre de control de versiones diseñado por Linus Torvals. con lo que se ha convertido en un standard a la hora de trabajar en el mundo del desarrollo. Herramientas con Xcode y Android Studio también integran Git, siendo muy sencillo gestionar nuestros proyectos de desarrollo de aplicaciones.

Conclusión

Como hemos visto, utilizar un sistema de control de versiones en nuestro día a día nos va a ayudar en nuestra jornada como desarrolladores, ya no solo para poder integrar nuestro trabajo con un equipo de personas, sino también para darnos ese grado de tranquilidad al saber que nuestros archivos están a salvo, además de saber que podremos tener guardados todos esos cambios en el tiempo para , cuando lo necesitemos, poder ir a una versión en concreto.

 

 

Publicado en: herramientas

Barra lateral principal

© 2020 Programando Apps - Todos los derechos reservados

Aviso legal - Privacidad

Esta web utiliza cookies para mejorar la navegación y la usabilidad . Estamos seguro que no te importa, en caso contrario puedes dejar de navegar si así lo deseas. .Aceptar Rechazar Leer más
Privacidad & Politica de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR