Conociendo GIT, herramienta para control de versiones

Post on 13-Jun-2015

1.699 views 2 download

description

Charla introductoria a GIT, sistema de control de versiones distribuido, enfoncado a un público no técnico, mas bien explicando su historia, caracteristicas y conceptos básicos de este scm.

Transcript of Conociendo GIT, herramienta para control de versiones

Conociendo GIT, herramienta para control de versiones

Ing. Pérez P. Javier E.

@dvst70

https://github.com/dvst

Caracas, Septiembre 2012

Agenda

● ¿Quién soy?● ¿Qué es un sistema de control de versiones?● Principales beneficiados.● Tipos de sistemas de control de cambios.

● Locales, centralizados, distribuidos.

● Historia de GIT.● Caracteristicas relevantes.

● Staging, administración de ramas, snapshots, otros.

● Herramientas.● Referencias.

¿Quién soy?

¿Qué es un sistema de control de versiones?

● Sistema de archivo 4D (maquina del tiempo)● Auditoria.● Control.● Recuperación de fallas.

Principales beneficiados

● Programadores.● Diseñadores gráficos.● Administradores.● Gerencia.● Comunidad / Proyectos colaborativos.

Control de versiones locales

● Más popular: RCS, respaldos manuales.

● Desorden.● Suceptible a

errores.● Perdida de

información.

Control de versiones centralizado

● Más popular: subversion (svn), cvs.

● Requiere servidor activo.

● Riesgo de perdida de información.

● Ineficiente manejo de ramas.

Control de versiones distribuidos

● Más populares: Mercurial (hg), Baazar, svk, Darcs, Git, …

● Copia completa local.

● Pensado para ser rápido.

Historia de GIT

● 1991-2002: Kernel Linux, envio de parches vía email.

● 2002-2005: Uso de Bitkeeper libre de pago.

● 2005: Linus Tolvards desarrolla GIT.

Caracteristicas relevantes

● Staging (cambio de estados)● Mejor administración de ramas● Snapshots, no diferencias entre revisiones.

Staging (cambio de estados)

Mejor adminsitración de ramas

Snapshots, no diferencias.

Snapshots →

← Diferencias

Otras caracteristicas

● Fácil/comoda manera para actualizar copia trabajo a punto especifico del tiempo.

● Stashing (ocultamiento)● Único directorio .git● Enmendar historial de cambios.● Firmado GPG en tags.● - identificador de revisión == hash, no número

entero.

Herramientas

● gitolite● gitosis● gitorius● git-buildpackage

● git-svn● gitk● git gui● trac-git

Referencias

● http://git-scm.com● http://softwarefreedomday.org● Esta presentación → http://buhoz.com.ve● Videos de Osledy Bazó <Uokesita> sobre GIT

www.codersvenezuela.com● Post sobre GIT por Ing. Luis Martínez

www.huntingbears.com.ve

Diagramas tomados de libro de Scott Chacon, Pro Git (2007) // Lectura obligatoria.

Grácias por su atención!

Pérez P. Javier E.Caracas, Septiembre 2012