Download - Conociendo GIT, herramienta para control de versiones

Transcript
Page 1: 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

Page 2: Conociendo GIT, herramienta para control de versiones

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.

Page 3: Conociendo GIT, herramienta para control de versiones

¿Quién soy?

Page 4: Conociendo GIT, herramienta para control de versiones

¿Qué es un sistema de control de versiones?

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

Page 5: Conociendo GIT, herramienta para control de versiones

Principales beneficiados

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

Page 6: Conociendo GIT, herramienta para control de versiones

Control de versiones locales

● Más popular: RCS, respaldos manuales.

● Desorden.● Suceptible a

errores.● Perdida de

información.

Page 7: Conociendo GIT, herramienta para control de versiones

Control de versiones centralizado

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

● Requiere servidor activo.

● Riesgo de perdida de información.

● Ineficiente manejo de ramas.

Page 8: Conociendo GIT, herramienta para control de versiones

Control de versiones distribuidos

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

● Copia completa local.

● Pensado para ser rápido.

Page 9: Conociendo GIT, herramienta para control de versiones

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.

Page 10: Conociendo GIT, herramienta para control de versiones

Caracteristicas relevantes

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

Page 11: Conociendo GIT, herramienta para control de versiones

Staging (cambio de estados)

Page 12: Conociendo GIT, herramienta para control de versiones

Mejor adminsitración de ramas

Page 13: Conociendo GIT, herramienta para control de versiones

Snapshots, no diferencias.

Snapshots →

← Diferencias

Page 14: Conociendo GIT, herramienta para control de versiones

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.

Page 15: Conociendo GIT, herramienta para control de versiones

Herramientas

● gitolite● gitosis● gitorius● git-buildpackage

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

Page 16: Conociendo GIT, herramienta para control de versiones

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.

Page 17: Conociendo GIT, herramienta para control de versiones

Grácias por su atención!

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