Está en la página 1de 2

GIT

GIT es un sistema de control de versiones, el cual es generalmente utilizado para gestionar el cdigo de aplicaciones mediante una red per-to-per de servidores. GIT se origin de la necesidades que presentaban los desarrolladores del kernel de Linux, ya que no exista un VCS que reuniera todas las caractersticas que necesitaban, debido a que el fabricante del VCS que se utilizaba en esa tiempo decidi dar de baja la licencia a algunos de los desarrolladores, se empez a escribir scripts que permitieran la gestin de paquetes por medio de correo electrnico, y ms tarde se inici con el desarrollo de lo que actualmente es GIT, se desarroll con los objetivos de: Manejar los flujos de trabajos distribuidos Ofrecer soporte contra la corrupcin de contenidos Ofrecer alto rendimiento

Un VCS debe tener la capacidad de almacenar contenido, en el caso de GIT el mtodo que utiliza cuando se debe almacenar algn archivo es, comparar el archivo nuevo con el archivo base que se tiene en el repositorio, almacena la diferencia entre los dos archivos para optimizar el espacio en el repositorio. Otra de las caractersticas, que debe tener un VCS es la de subir y combinar cdigo, la manera en que GIT hace este trabajo es mediante: historia linear y grafo acclico dirigido por la historia; en el caso de historia lineal el cdigo va siguiendo una lnea de tiempo donde en cada commit se va almacenando la diferencia entre el cdigo base y el nuevo cdigo; en el caso de grafo acclico dirigido por la historia, el cdigo se va ramificando, cada rama toma como base una determinada parte del cdigo y a partir de esta se van guardando los cambios en el cdigo, esto genera un historial no lineal del cdigo, lo que permite que el desarrollo sea ms dinmico. Una de las caractersticas ms sobresalientes de GIT es que ofrece tambin la posibilidad de combinar cdigo, es decir que se pueden unir varias ramas a la rama principal, o se pueden combinar varias ramas entre s, lo que ofrece mucha flexibilidad cuando se necesita desarrollar software por mdulos. La otra caracterstica, que no necesariamente debe tener todos los VCSs, es la de la distribucin, y existen 3 mtodos de distribucin: solo local, en donde se tiene el cdigo en un solo repositorio; Servidor central, donde todos los cambios en el cdigo se tienen que tramitar a travs de un repositorio especifico; y el mtodo distribuido donde se tienen repositorios de acceso pblico donde se centraliza el cdigo y servidores locales donde se puede subir cdigo, que luego se podr publicar en los repositorios pblicos. El paquete de herramientas de GIT se divide en dos partes plumbing y porcelain. La primera incluye scripts de bajo nivel que permiten el seguimiento y control de contenido en los grafos acclicos, mientras que porcelain contiene scripts orientados al manejo y comunicacin de los servidores.

GIT cuenta con 4 objetos bsicos que son: tree se refiere a un directorio en el repositorio, blob es un archivo, commit es una confirmacin de subida a un nivel superior y tag es una etiqueta que apunta a un commit en el historial del repositorio, cada uno de ellos tiene los atributos: tipo tamao y contenido; si dos objetos son idnticos tendrn un mismo identificador, si no los no son se les asignara un identificador diferente, en caso de que un archivo se haya copiado parcialmente se le colocara un identificador que lo clasificara como un archivo corrupto. GIT empaqueta los objetos en un formato comprimido, en donde tiene un archivo de ndice donde se tiene la referencia a los commits. Como herramienta de trabajo GIT sigue innovando, su estructura modular de scripts permite que la aplicacin sea escalable lo que deja ver un futuro brillante para este VCS, existen muchas IDEs qque proporcionan soporte para GT I, y gracias al apoyo de muchas personas de ha podido dar soporte a mas lenguajes de programacin, actualmente se desarrollan nuevos proyectos basadados en GIT que se mantiene independientes de este. Actualmente ha dejado de ser tan solo un conjunto de scripts y se ha convertido en un formato de repositorios y un protocolo para compartir informacin entre repositorios.

Nombre: Sergio Omar Ajanel Oroxom Carnet: 1534310

También podría gustarte