Las Palmas DevOps

Talleres

Sistemas de control de versiones (VCS)

Introducción

¿Os suena ?

  • ¿ Cuál era la última versión ?
  • ¿ Cómo vuelvo a la versión anterior ?
  • ¿ Cómo consolido los cambios ?
  • Los dos hemos modificado el mismo fichero

¿Qué nos ofrece un VCS ?

  • Llevar un historial de cambios.
  • Poder colaborar con otros.
  • Crear fork de un proyecto.
  • Recuperar cambios.

Tipos de VCS I

Sin red, un solo desarollador

  • 1972 -> Source Code Control System
  • 1980 -> Revision Control System

Tipos de VCS II

Centralizados

  • 1986 -> Concurrent Version System (CVS)
  • 1999 -> Subversion ("CVS done right")

Tipos de VCS III

Distribuidos

  • 2001 -> Arch, Monotone
  • 2002 -> Darcs
  • 2005 -> Git, Mercurial (hg), Bazaar (bzr)

Ventajas de los VCS distruidos

  • Rapidez
  • Revisiones pequeñas y sin molestar
  • Trabajar sin conexión
  • Robusto (backup)

Desarrollo del Kernel I

Inicio kernel Linux

  • Parches y tar.gz

Desarrollo del Kernel II

BitKeeper

  • 02/2002 BitMover regala licencia
  • 04/2005 BitMover retira licencia

Desarrollo del Kernel III

Nacimiento de Git

  • 04/2005 Presentado por Linus T., ya usa ramas
  • 06/2005 Git se usa para gestionar el kernel
  • 02/2007 Git 1.5.0, versión usable para el resto
  • 03/2015 Versión 2.3.2

¿ Qué es Git ?

  • Un grafo orientado aclícico de objetos
  • Objetos: commit, tree, blob y tag
  • Los objetos son inmutables
  • Son direccionables por su contenido (resumen SHA1)

Cuando no deberías usar Git

  • No para almacenar ficheros binarios
  • No sirve como backup (no guarda metadatos)

Falsos mitos sobre Git I

  • Díficil
  • Sólo para informáticos

Falsos mitos sobre Git I

Falsos mitos sobre Git II

  • Sólo lo usan los Frikies

Falsos mitos sobre Git II

Falsos mitos sobre Git III

  • Sólo los usan startup y similar

Falsos mitos sobre Git III

Falsos mitos sobre Git IV

  • Github es git

Falsos mitos sobre Git IV

Israel Santana