SIstema de control de versiones GIT (I)

Descubriendo GIT

Git es un sistema de control de versiones diseñado inicialmente para el desarrollo de Linux por el mismo linus tolvards. Un sistema de control de versiones es una herramienta muy util para los programadores, ya sea en proyectos pequeños o en proyectos enormes, como el kernel Linux. Este nos permite guardar el estado de nuestro proyecto en determinada version y si llegase a ocurrir algun accidente, solo tendriamos que deshacer los cambios, o en trabajos en equipo, observar los cambios que se hizo de version a version para observar que ha pasado con el codigo y decidir si se debe o no agregar a nuestro proyecto.

Git es un programa escrito en C pensado en ser un sistema distribuido, lo que quiere decir que no existe un repositorio central como tal. Trabaja de una manera muy sencilla. Dentro de nuestra computadora creamos un repositorio git, este guardara todo lo que hagamos, luego podemos obtener o compartir el contenido con el repositorio de otra persona, creando asi una red de desarrollo, por ultimo podemos crear un repositorio en un servidor publico que utilizaremos como repositorio principal y al cual todos los demas tendran que mandar su avance. De esta manera el desarrollo puede hacerse desde un punto remoto y compartido entre algunos nodos para termninar en un repositorio central que sera la fuente publica del codigo.

Ventajas de GIT

Existen grandes ventajas como son independencia ya que se puede hacer el trabajo incluso si no tienes conexion a red y luego pasarlo a algun otro lugar sin complicarse la vida y mejoras en la cooperacion entre los desarrolladores ya que se puede trabajar en ciertas partes del proyecto sin tener que subir todo a un servidor.

Tambien muestra una mejora notable en la rapidez de desarrollo ya que no solo aumenta la facilidad de trabajo dentro del equipo de desarrollo sino que las tareas a realizar son mas rapidas por la forma de trabajo distribuida.

Un punto que muchos temen dentro de un SCV (sistema de control de versiones) es el uso de ramas (branches), cosa que dentro de git es algo completamente natural ya que, al ser pensado para su uso en proyectos grandes, muy activos y con una gran cantidad de programadores este problema fue solucionado y diseñado para ser facil.

Algunas otras cosas que se pueden decir de GIT es que guarda el contenido y no los archivos, consiguiendo las versiones a partir de instananeas del proyecto y no solo las diferencias de cada fichero, dando un control sobre la manipulacion de los ficheros.  Y el uso de un indice donde se puede trabajar los cambios antes de mandarlos al repositorio pero despues de modificar el proyecto para tener completamente el control sobre nuestro proyecto.

Porque usar GIT

Con las ventajas señaladas anteriormente podemos ver que git nos ofrece una buena libertad a la hora de pensar en hacer trabajos en equipo ya que en primer lugar, al ser un SCV podemos estar tranquilos de enfocarnos en un area especifica sin preocuparnos en que hacen los demas programadores y si lo que hacemos causa daño al proyecto solo se debe volver a una version anterior. En segundo lugar ofrece una gran flexibilidad comparado con otros SCV usados como svn y cvs. Y por ultimo gracias a git-svn, podemos usar git para trabajar en sistemas anteriores combinando los requisitos que se imponen con el potencial de esta herramienta.

Que hacer para usarlo

Descargarlo, ya sea desde el sitio web git.or.cz o desde el repositorio de paquetes de nuestra distribucion. En la ultima opcion debemos de fijarnos en buscar git-core en lugar de git, ya que este paquete son las  GNU interactive tools.

Otros sistemas

Otros sistemas para el desarrollo son svn, cvs y sistemas distribuidos como git : Mercurial, bazaar y darcs. Recordemos que dentro del ambiente del software libre lo importante no es que es mejor, si no que  es lo que mas nos gusta 😉

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s