SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
CONTROL DE VERSIONES
Javier Benítez del Pozo
Roberto Carlos Flores Gómez
DEFINICIÓN
 Es la gestión de cambios realizados sobre un
programa o producto.
 La versión de un producto es el estado en el
que se encuentra en un momento dado.
RAZONES PARA USARLO
 Comunicación entre los desarrolladores
 Manejo de los lanzamientos
 Administración de fallos
 Estabilidad en el código
 Se pueden abarcar todas las áreas con
distintos desarrolladores
CARACTERÍSTICAS
 Mecanismo de almacenamiento de los
elementos que deba gestionar.
 Posibilidad de realizar cambios sobre los
elementos almacenados.
 Registro histórico de las acciones realizadas
con cada elemento.
TERMINOLOGÍA
 Repositorio
 Módulo
 Revisión o versión
 Rotular
 Rama o branch
 Desplegar o checkout
 Etc, etc...
FORMAS DE COLABORAR
EXCLUSIVA
Es necesario comunicar los
cambios al repositorio y el
sistema bloqueará posibles
cambios en el mismo
elemento.
Ejemplo: SourceSafe
COLABORATIVA
Cada usuario modifica su copia
local y cuando se suben el
sistema intenta combinar
automáticamente las diversas
modificaciones
Ejemplo: Git
ARQUITECTURAS DE ALMACENAMIENTO
CENTRALIZADOS
Existe un repositorio
centralizado de todo el código,
del cual sólo es responsable
un usuario o conjunto de
usuarios. Las modificaciones
necesitan aprobación del
responsable
Ejemplo: CVS y Subversion
DISTRIBUIDOS
Cada usuario tiene su
repositorio propio y se pueden
intercambiar versiones entre
ellos. Hay un repositorio que
sirve de sincronización entre los
locales.
Ejemplo: Git
COMPARATIVA
CENTRALIZADOS
 Hay más control al trabajar
en equipo ya que existe una
versión centralizada.
 Cada versión está
identificada por un número.
DISTRIBUIDOS
 El servidor remoto requiere
menos recursos.
 Menos veces conectado a la
red.
 La gente puede trabajar
aunque se caiga el
repositorio remoto.
ARQUITECTURAS DE ALMACENAMIENTO
Centralizado
Distribuido
FLUJO DE TRABAJO
 Centralizado
 Con gestor de integraciones
 Con dictador y tenientes
FLUJO DE TRABAJO: CENTRALIZADO
FLUJO DE TRABAJO: CON GESTOR DE
INTEGRACIONES
Repositorio
público
Repositorio
privado
Repositorio
público
Repositorio
privado
Repositorio
público
Repositorio
privado
petición petición
FLUJO DE TRABAJO: CON DICTADOR Y
TENIENTES
Teniente
Dictador
Teniente
RAMAS
o Ramas de largo recorrido:
Se mantiene en la rama
master sólo lo que es
totalmente estable, luego se
tienen unas ramas que revelan
distintos grados de
estabilidad.
o Ramas puntuales:
Son ramas que se crean de
forma puntual para realizar una
funcionalidad muy concreta.
BIBLIOGRAFÍA
 Wikipedia:
http://es.wikipedia.org/wiki/Control_de_versio
nes

Más contenido relacionado

La actualidad más candente

Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
CristobalFicaV
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
Yare LoZada
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
landeta_p
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
Liliana Pacheco
 
Diagrama de componentes
Diagrama de componentesDiagrama de componentes
Diagrama de componentes
uitron
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño
landeta_p
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linux
Diana
 
Poo leccion3 herencia
Poo leccion3 herenciaPoo leccion3 herencia
Poo leccion3 herencia
adolfoacosta
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareAtributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
Gustavo Cuen
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datos
Lalo Osorio
 

La actualidad más candente (20)

Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
3.5 tipos de riesgos
3.5 tipos de riesgos3.5 tipos de riesgos
3.5 tipos de riesgos
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2
 
Diagrama de componentes
Diagrama de componentesDiagrama de componentes
Diagrama de componentes
 
Modelo de entidad relación extendido
Modelo de entidad relación extendidoModelo de entidad relación extendido
Modelo de entidad relación extendido
 
Ensayo de php
Ensayo de phpEnsayo de php
Ensayo de php
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linux
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
Modelo Entidad-Relacion 2
Modelo Entidad-Relacion 2Modelo Entidad-Relacion 2
Modelo Entidad-Relacion 2
 
Poo leccion3 herencia
Poo leccion3 herenciaPoo leccion3 herencia
Poo leccion3 herencia
 
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosIDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareAtributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datos
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
Requerimientos norma ieee830
Requerimientos norma ieee830Requerimientos norma ieee830
Requerimientos norma ieee830
 

Similar a Control de versiones (CVS)

PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
drsevilla
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
Eudris Cabrera
 

Similar a Control de versiones (CVS) (20)

Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
 
Sistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de CódigoSistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de Código
 
[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversion
 
Induccion0_GitLab.pptx
Induccion0_GitLab.pptxInduccion0_GitLab.pptx
Induccion0_GitLab.pptx
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
Git para no gitters
Git para no gittersGit para no gitters
Git para no gitters
 
Git para no gitters
Git para no gittersGit para no gitters
Git para no gitters
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
 
Desarrollo Subversivo
Desarrollo SubversivoDesarrollo Subversivo
Desarrollo Subversivo
 
Control de versiones y Subversion
Control de versiones y SubversionControl de versiones y Subversion
Control de versiones y Subversion
 
Git - Control de versiones
Git - Control de versionesGit - Control de versiones
Git - Control de versiones
 
Versionamiento
VersionamientoVersionamiento
Versionamiento
 
¿Cómo elegir tu workflow de Git?
¿Cómo elegir tu workflow de Git?¿Cómo elegir tu workflow de Git?
¿Cómo elegir tu workflow de Git?
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Taller GitHub
Taller GitHubTaller GitHub
Taller GitHub
 
Subversion
SubversionSubversion
Subversion
 
Subversion Press
Subversion PressSubversion Press
Subversion Press
 
Subversion
SubversionSubversion
Subversion
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 

Más de Cursando Desarrollo Web

Practica3 recuperacion grub_benitezdelpozojavierfloresgomezrobertocarlos
Practica3 recuperacion grub_benitezdelpozojavierfloresgomezrobertocarlosPractica3 recuperacion grub_benitezdelpozojavierfloresgomezrobertocarlos
Practica3 recuperacion grub_benitezdelpozojavierfloresgomezrobertocarlos
Cursando Desarrollo Web
 
Formulario HTML-PHP dirigido a una Base de datos
Formulario HTML-PHP dirigido a una Base de datosFormulario HTML-PHP dirigido a una Base de datos
Formulario HTML-PHP dirigido a una Base de datos
Cursando Desarrollo Web
 

Más de Cursando Desarrollo Web (20)

Guia instalacion symfony
Guia instalacion symfonyGuia instalacion symfony
Guia instalacion symfony
 
Introducción a jQuery (Parte 4, 5, 6)
Introducción a jQuery (Parte 4, 5, 6)Introducción a jQuery (Parte 4, 5, 6)
Introducción a jQuery (Parte 4, 5, 6)
 
Ejercicios básicos en Python
Ejercicios básicos en PythonEjercicios básicos en Python
Ejercicios básicos en Python
 
Instalación de CMS´s en un VirtualHost
Instalación de CMS´s en un VirtualHostInstalación de CMS´s en un VirtualHost
Instalación de CMS´s en un VirtualHost
 
FTP con MySQL
FTP con MySQLFTP con MySQL
FTP con MySQL
 
Instalación LDAP en Linux
Instalación LDAP en LinuxInstalación LDAP en Linux
Instalación LDAP en Linux
 
Configuración DNS
Configuración DNSConfiguración DNS
Configuración DNS
 
Recuperación del GRUB (Windows / Linux)
Recuperación del GRUB (Windows / Linux)Recuperación del GRUB (Windows / Linux)
Recuperación del GRUB (Windows / Linux)
 
Practica3 recuperacion grub_benitezdelpozojavierfloresgomezrobertocarlos
Practica3 recuperacion grub_benitezdelpozojavierfloresgomezrobertocarlosPractica3 recuperacion grub_benitezdelpozojavierfloresgomezrobertocarlos
Practica3 recuperacion grub_benitezdelpozojavierfloresgomezrobertocarlos
 
Instalando dos sistemas operativos diferentes en dos particiones distintas
Instalando dos sistemas operativos diferentes en dos particiones distintasInstalando dos sistemas operativos diferentes en dos particiones distintas
Instalando dos sistemas operativos diferentes en dos particiones distintas
 
Requerimientos Sistemas
Requerimientos SistemasRequerimientos Sistemas
Requerimientos Sistemas
 
Implantación de Sistemas operativos
Implantación de Sistemas operativosImplantación de Sistemas operativos
Implantación de Sistemas operativos
 
Formulario HTML-PHP dirigido a una Base de datos
Formulario HTML-PHP dirigido a una Base de datosFormulario HTML-PHP dirigido a una Base de datos
Formulario HTML-PHP dirigido a una Base de datos
 
Algunos de los navegadores para smartphones
Algunos de los navegadores para smartphonesAlgunos de los navegadores para smartphones
Algunos de los navegadores para smartphones
 
Estructura árbol b+
Estructura árbol b+Estructura árbol b+
Estructura árbol b+
 
Ejercicios básicos HTML
Ejercicios básicos HTMLEjercicios básicos HTML
Ejercicios básicos HTML
 
Cuestionario sobre SGBD (parte 2)
Cuestionario sobre SGBD (parte 2)Cuestionario sobre SGBD (parte 2)
Cuestionario sobre SGBD (parte 2)
 
Cuestionario sobre SGBD
Cuestionario sobre SGBDCuestionario sobre SGBD
Cuestionario sobre SGBD
 
Base de datos BASE de LibreOffice. Consultas, formularios e informes
Base de datos BASE de LibreOffice. Consultas, formularios e informesBase de datos BASE de LibreOffice. Consultas, formularios e informes
Base de datos BASE de LibreOffice. Consultas, formularios e informes
 
Miprimerabasededatos javierbenitezdelpozo
Miprimerabasededatos javierbenitezdelpozoMiprimerabasededatos javierbenitezdelpozo
Miprimerabasededatos javierbenitezdelpozo
 

Control de versiones (CVS)

  • 1. CONTROL DE VERSIONES Javier Benítez del Pozo Roberto Carlos Flores Gómez
  • 2. DEFINICIÓN  Es la gestión de cambios realizados sobre un programa o producto.  La versión de un producto es el estado en el que se encuentra en un momento dado.
  • 3. RAZONES PARA USARLO  Comunicación entre los desarrolladores  Manejo de los lanzamientos  Administración de fallos  Estabilidad en el código  Se pueden abarcar todas las áreas con distintos desarrolladores
  • 4. CARACTERÍSTICAS  Mecanismo de almacenamiento de los elementos que deba gestionar.  Posibilidad de realizar cambios sobre los elementos almacenados.  Registro histórico de las acciones realizadas con cada elemento.
  • 5. TERMINOLOGÍA  Repositorio  Módulo  Revisión o versión  Rotular  Rama o branch  Desplegar o checkout  Etc, etc...
  • 6. FORMAS DE COLABORAR EXCLUSIVA Es necesario comunicar los cambios al repositorio y el sistema bloqueará posibles cambios en el mismo elemento. Ejemplo: SourceSafe COLABORATIVA Cada usuario modifica su copia local y cuando se suben el sistema intenta combinar automáticamente las diversas modificaciones Ejemplo: Git
  • 7. ARQUITECTURAS DE ALMACENAMIENTO CENTRALIZADOS Existe un repositorio centralizado de todo el código, del cual sólo es responsable un usuario o conjunto de usuarios. Las modificaciones necesitan aprobación del responsable Ejemplo: CVS y Subversion DISTRIBUIDOS Cada usuario tiene su repositorio propio y se pueden intercambiar versiones entre ellos. Hay un repositorio que sirve de sincronización entre los locales. Ejemplo: Git
  • 8. COMPARATIVA CENTRALIZADOS  Hay más control al trabajar en equipo ya que existe una versión centralizada.  Cada versión está identificada por un número. DISTRIBUIDOS  El servidor remoto requiere menos recursos.  Menos veces conectado a la red.  La gente puede trabajar aunque se caiga el repositorio remoto.
  • 10. FLUJO DE TRABAJO  Centralizado  Con gestor de integraciones  Con dictador y tenientes
  • 11. FLUJO DE TRABAJO: CENTRALIZADO
  • 12. FLUJO DE TRABAJO: CON GESTOR DE INTEGRACIONES Repositorio público Repositorio privado Repositorio público Repositorio privado Repositorio público Repositorio privado petición petición
  • 13. FLUJO DE TRABAJO: CON DICTADOR Y TENIENTES Teniente Dictador Teniente
  • 14. RAMAS o Ramas de largo recorrido: Se mantiene en la rama master sólo lo que es totalmente estable, luego se tienen unas ramas que revelan distintos grados de estabilidad. o Ramas puntuales: Son ramas que se crean de forma puntual para realizar una funcionalidad muy concreta.
  • 15.