Programación

GIT, el control de versiones distribuido

Git es uno de los sistemas de control de versiones más extendidos actualmente, su principal característica es que distribuido. Nace de la mano de Lius Torvalds en el año 2005 para gestionar el código fuente de Linux y poco a poco va ganando adeptos en comunidades como GitHub o ButBucket.

Características de GIT

GIT es distribuido, una de las diferenciaciones más importante con otros repositorios como SVN es que es un sistema distribuido. No es necesario un servidor central, cada programador tiene una copia completa del repositorio en su equipo y al hacer un cambio se propaga a todos los nodos.

Esto permite un gran rendimiento en grandes desarrollos, las búsquedas son mucho más eficaces lo que supone una gran rapidez para detectar diferencias entre archivos.

Ventajas y desventajas de GIT

  • Gran rendimiento en programas grandes, gracias a ser un sistema distribuido, las búsquedas son mucho más eficaces lo que supone una gran rapidez para detectar diferencias entre archivos.
  • Su sistema de ramas o branches es muy flexible, pudiendo crear ramas locales independientes de un repositorio centralizado. Se puede crear distintos branches para distintos usos, una de las ramas se deja estable con el código de producción, y los nuevos desarrollos se hacen en ramas paralelas, al finalizar basta con hacer un merge para unir los cambios. Otra opción es, al ser distribuido, que un desarrollador haga sus cambios en una rama en local que no es necesaria subir al resto de nodos.
Git, el repositorio distribuido

Uso básico de GIT

  1. git add . => Comprueba si hay cambios
  2. git status => Comprueba el estado de repositorio actual
  3. commit => Subida de archivos a tu repositorio local, a diferencia de en otros sistemas como SVN con el commit no se propaga el cambio.
  4. git pull Actualiza tu versión de código, equivaldria al update de SVN
  5. git push => Envia los cambios locales comiteados al resto de nodos
  6. git log Puedes ver el historial de cambios
  7. git diff Ver los cambios realizados en un archivo

Clientes de GIT

Para gestionar GIT como hemos visto sólo nos hace falta una consola de comandos. Pero existen clientes para los distintos SO's para trabajar con GIT de una manera más visual. Entre otros destacan:
  • Para los que vengáis del mundo de SVN, seguramente os es familiar trabajar con tortoise. Para GIT también existe una versión muy similar TortoiseGIT
  • Otro cliente muy usado y eficaz es SourceTree, que provee al usuario de un entorno gráfico donde ver todo el historial de cambios y ramas
Si quieres leer más articulos como este, sigueme => @ander_gs
Compartir en: