Git

Git
Para otros usos de este término, véase GIT.
Git
Git-logo.svg
Desarrollador
Junio Hamano, Linus Torvalds
http://git-scm.com/
Información general
Diseñador Linus Torvalds
Última versión estable 1.7.6 (info)
26 de junio de 2011; hace 4 meses (2011-06-26)
Género Control de versiones
Programado en C, Bourne Shell, Perl[1]
Licencia GNU GPL v2
En español ?

Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente. Al principio, Git se pensó como un motor de bajo nivel sobre el cual otros pudieran escribir la interfaz de usuario o front end como Cogito o StGIT. [2] Sin embargo, Git se ha convertido desde entonces en un sistema de control de versiones con funcionalidad plena. [3] Hay algunos proyectos de mucha relevancia que ya usan Git, en particular, el grupo de programación del núcleo Linux.

El mantenimiento del software Git está actualmente (2009) supervisado por Junio Hamano, quien recibe contribuciones al código de alrededor de 280 programadores.

Contenido

Características

El diseño de Git se basó en BitKeeper y en Monotone. [4] [5]

El diseño de Git resulta de la experiencia del diseñador de Linux, Linus Torvalds, manteniendo una enorme cantidad de código distribuida y gestionada por mucha gente, que incide en numerosos detalles de rendimiento, y de la necesidad de rapidez en una primera implementación.

Entre las características más relevantes se encuentran:

  • Fuerte apoyo al desarrollo no-lineal, por ende rapidez en la gestión de ramificaciones y mezclado de diferentes versiones. Git incluye herramientas específicas para navegar y visualizar un historial de desarrollo no-lineal. Una presunción medular en Git es que un cambio será fusionado o empalmado mucho más frecuentemente de lo que se escribe originalmente, conforme se pasa entre varios programadores que lo revisan.
  • Gestión distribuida. Al igual que Darcs, BitKeeper, Mercurial, SVK, Bazaar y Monotone, Git le da a cada programador una copia local del historial del desarrollo entero, y los cambios se propagan entre los repositorios locales. Los cambios se importan como ramificaciones adicionales y pueden ser fusionados en la misma manera que se hace con la ramificación local.
  • Los almacenes de información pueden publicarse por HTTP, FTP, rsync o mediante un protocolo nativo, ya sea a través de una conexión TCP/IP simple o a través de cifrado SSH. Git también puede emular servidores CVS, lo que habilita el uso de clientes CVS pre-existentes y modulos IDE para CVS pre-existentes en el acceso de repositorios Git.
  • Los repositorios Subversion y svk se pueden usar directamente con git-svn.
  • Gestión eficiente de proyectos grandes, dada la rapidez de gestión de diferencias entre archivos, entre otras mejoras de optimización de velocidad de ejecución.
  • Todas las versiones previas a un cambio determinado, implican la notificación de un cambio posterior en cualquiera de ellas a ese cambio (denominado autenticación criptográfica de historial). Esto existía en Monotone.
  • Resulta algo más caro trabajar con ficheros concretos frente a proyectos, eso diferencia el trabajo frente a CVS, que trabaja con base en cambios de fichero, pero mejora el trabajo con afectaciones de código que concurren en operaciones similares en varios archivos.
  • Los renombrados se trabajan basándose en similitudes entre ficheros, aparte de nombres de ficheros, pero no se hacen marcas explícitas de cambios de nombre con base en supuestos nombres únicos de nodos de sistema de ficheros, lo que evita posibles, y posiblemente desastrosas, coincidencias de ficheros diferentes en un único nombre.
  • Realmacenamiento periódico en paquetes (ficheros). Esto es relativamente eficiente para escritura de cambios y relativamente ineficiente para lectura si el reempaquetado (con base en diferencias) no ocurre cada cierto tiempo.

Véase también

Referencias

  1. «git/git.git/tree». git.kernel.org. Consultado el 2009-06-15.
  2. Linus Torvalds (08-04-2005). «Re: Kernel SCM saga».
  3. Linus Torvalds (23-03-2006). «Re: Errors GITtifying GCC and Binutils».
  4. Linus Torvalds (05-05-2006). «Re: [ANNOUNCE] Git wiki». Referencias de los antecesores de Git
  5. LKML: Linus Torvalds: Re: Kernel SCM saga

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • gît — gît …   Dictionnaire des rimes

  • Git — Git …   Википедия

  • Git — Entwickler Junio C. Hamano, Shawn O. Pearce, Linus Torvalds und viele andere Aktuelle Version 1.7.7.3 (8. November 2011) …   Deutsch Wikipedia

  • Git — Développeurs Junio Hamano Linus Torvalds et contributeurs Dernière version …   Wikipédia en Français

  • GIT — Datos generales Origen Buenos Aires, Argentina Información …   Wikipedia Español

  • Git — may refer to: * Git (album), by Skeletons The Girl Faced Boys *Git (pronoun), the second person, dual, personal pronoun (subject case) in Old English *Git (software), a distributed version control system *Feathers in the Wind (깃) (pronounced and… …   Wikipedia

  • Git Up — «Git Up» Sencillo de D12 del álbum D12 World Formato CD Género(s) Hip hop Duración 4:03 4:08 (video musical) Dis …   Wikipedia Español

  • git — [gıt] n BrE spoken not polite [Date: 1900 2000; Origin: get someone born to an unmarried mother (16 20 centuries), from get to beget ] an offensive word for an unpleasant and annoying person, especially a man ▪ You miserable git! …   Dictionary of contemporary English

  • git-go — ˈgitˌgō variant of get go herein * * * /git goh /, n. Dial. 1. start; beginning: to work hard from the git go. 2. pep; energy; get up and go …   Useful english dictionary

  • Git — Git, n. (Founding) See {Geat}. [1913 Webster] …   The Collaborative International Dictionary of English

  • git-go — /git goh /, n. Dial. 1. start; beginning: to work hard from the git go. 2. pep; energy; get up and go. * * * …   Universalium

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”