SlideShare una empresa de Scribd logo
1 de 35
2017
Control de versiones
Joan Sebastián Ramírez Pérez
Agenda
1. ¿Qué es un sistema de control de versiones?
2. Clasificación de los sistemas de control de versiones
2.1. Sistema control de versiones locales
2.2. Sistema control de versiones centralizados
2.3. Sistema control de versiones distribuido
3. GIT
4. GIT Flow
5. Bibliografía
Agenda
1. ¿Qué es un sistema de control de versiones?
2. Clasificación de los sistemas de control de versiones
2.1. Sistema control de versiones locales
2.2. Sistema control de versiones centralizados
2.3. Sistema control de versiones distribuido
3. GIT
4. GIT Flow
5. Bibliografía
Sistema de control de versiones
¿Qué es un sistema de control de
versiones?
✤ Sistema que registra los cambios realizados sobre un archivo o
conjunto de archivos a lo largo del tiempo, de modo que puedas
recuperar versiones específicas más adelante.
✤ Permite revertir archivos a un estado anterior, revertir el proyecto
entero a un estado anterior, comparar cambios a lo largo del
tiempo, ver quién modificó por última vez algo que puede estar
causando un problema, quién introdujo un error y cuándo, entre
otras cosas.
✤ Aplica para cualquier tipo de archivos, no necesariamente código
fuente.
Repositorio
Lugar en el que se encuentran almacenados los
archivos con sus respectivas versiones.
Copia de trabajo
Inicialmente es el directorio que se obtiene al hacer el
check-out de un proyecto almacenado en un repositorio.
La copia de trabajo contiene información para saber qué
ficheros están sincronizados y cuáles no. También
contiene los archivos que permiten mantener la
sincronización con el repositorio.
Trunk
Contiene la última versión del proyecto que se está
desarrollando, la versión común a todos los
colaboradores.
Branch
Subdirectorio usado por cada colaborador para realizar
sus cambios. Suele juntarse con otras versiones a
través de merge.
Merge
Mecanismo usado para fusionar branches
Tag
Copias de seguridad (snapshots) del proyecto. A
diferencia de los branches los tag no permiten modificar
archivos.
Agenda
1. ¿Qué es un sistema de control de versiones?
2. Clasificación de los sistemas de control de versiones
2.1. Sistema control de versiones locales
2.2. Sistema control de versiones centralizados
2.3. Sistema control de versiones distribuido
3. GIT
4. GIT Flow
5. Bibliografía
Sistema de control
de versiones
locales
✤ Un método usado por muchos
es copiar los archivos a otro
directorio. Este enfoque es muy
común porque es muy simple,
pero también propenso a
errores.
✤ Una de las herramientas de
control de versiones más
popular fue un sistema llamado
rcs, que todavía podemos
encontrar en muchos de los
computadores actuales.
Sistema de control de versiones
centralizados (Centralized Version
Control Systems o CVCSs)
✤ Un único servidor que contiene
todos los archivos versionados,
y varios clientes que descargan
los archivos desde ese lugar
central
✤ Herramientas como CVS,
Subversion, y Perforce
Sistema de control de versiones
distribuidos (Distributed Version
Control Systems o DVCSs)
✤ Los clientes no sólo descargan
la última instantánea de los
archivos, también replican
completamente el repositorio.
Así, si un servidor muere, y estos
sistemas estaban colaborando a
través de él, cualquiera de los
repositorios de los clientes
puede copiarse en el servidor
para restaurarlo.
✤ Herramientas como Git,
Mercurial, Bazaar o Darcs.
Agenda
1. ¿Qué es un sistema de control de versiones?
2. Clasificación de los sistemas de control de versiones
2.1. Sistema control de versiones locales
2.2. Sistema control de versiones centralizados
2.3. Sistema control de versiones distribuido
3. GIT
4. GIT Flow
5. Bibliografía
GIT
✤ Nació en 2005
✤ Otros sistemas tienden a almacenar los datos como
cambios de cada archivo respecto a una versión base.
✤ Git modela sus datos más como un conjunto de
instantáneas de un mini sistema de archivos. Cada vez que
confirmas un cambio, o guardas el estado de tu proyecto en
Git, él básicamente hace una foto del aspecto de todos tus
archivos en ese momento, y guarda una referencia a esa
instantánea.
Estados
Git tiene tres estados principales en los que se pueden
encontrar tus archivos: confirmado (committed),
modificado (modified), y preparado (staged).
✤ Confirmado: significa que los datos están almacenados de manera
segura en tu base de datos local.
✤ Modificado: significa que has modificado el archivo pero todavía no lo
has confirmado a tu base de datos.
✤ Preparado: significa que has marcado un archivo modificado en su
versión actual para que vaya en tu próxima confirmación.
Secciones
✤ El directorio de Git (Git directory): es donde Git
almacena los metadatos y la base de datos de
objetos para tu proyecto. Es la parte más
importante de Git, y es lo que se copia cuando
clonas un repositorio desde otro ordenador.
✤ El directorio de trabajo (working directory): es
una copia de una versión del proyecto. Estos
archivos se sacan de la base de datos
comprimida en el directorio de Git, y se colocan
en disco para que los puedas usar o modificar.
✤ El área de preparación (staging area): es un
sencillo archivo, generalmente contenido en tu
directorio de Git, que almacena información
acerca de lo que va a ir en tu próxima
confirmación. A veces se le denomina índice,
pero se está convirtiendo en estándar el
referirse a ella como el área de preparación.
Comandos
✤ git config –list: comprobar las configuraciones de Git del equipo
✤ git remote: muestra que repositorios remotos están configurados.
✤ git init: inicializa el repositorio. Crea un nuevo subdirectorio llamado .git que contiene todos los
archivos necesarios del repositorio.
✤ git clone [url]: obtiene copia del repositorio de la URL
✤ git add [archivo]: agrega archivo para ser controlado
✤ git commit –m 'comentario': confirma los cambios y quedan con el comentario ingresado en el
historico
✤ git status: identifica qué archivos se encuentran en que estados y da información sobre el
branch actual
✤ git branch [nombre]: crea una rama
Comandos
✤ git diff: compara lo que hay en tu directorio de trabajo con lo que hay en tu área de
preparación.
✤ git rm [archivo]: prepara la eliminación del archivo.
✤ git mv file_from file_to: renombra el archivo
✤ git log: histórico
✤ git checkout – [archivo]: devuelve el archivo a la versión del branch
✤ git fetch [remote-name]: recuperar datos del repositorio remoto.
✤ git push [nombre-remoto][nombre-rama]: sube cambios a repositorio remoto
✤ git tag -a v[versión] -m comentario': crea el tag o etiqueta
✤ git pull: para recuperar y unir automáticamente la rama remota con tu rama actual.
Usar Git gráfico
✤ SourceTree:
https://www.sourcetreeapp.com
/
✤ Git-cola: https://git-
cola.github.io/
✤ Gitg:
https://wiki.gnome.org/Apps/Git
g/
Ignorar archivos
✤ Para estos casos se crea un archivo llamado .gitignore, en
el que se listan los patrones de nombres que deseas que
sean ignorados.
✤ Por ejemplo:
*.[oa]
*~
miArchivo.extensión
La primera excluye todos los archivos terminados en .a o .o, la segunda todos
los que terminan en tilde y la tercera el archivo con nombre miArchivo.extensión
Agenda
1. ¿Qué es un sistema de control de versiones?
2. Clasificación de los sistemas de control de versiones
2.1. Sistema control de versiones locales
2.2. Sistema control de versiones centralizados
2.3. Sistema control de versiones distribuido
3. GIT
4. GIT Flow
5. Bibliografía
Ramas o branches propuestos por
Git Flow
✤ Master: se usa para tener la versión productiva
✤ Develop: se usa para integrar ramas y realizar regresiones
✤ Hotfix: estas ramas se usan para realizar ajustes a bugs que se
encuentran sobre master. Se replican los cambios una vez son
exitosos en master a develop.
✤ Features: branches usados para la creación de nuevas
funcionalidades
✤ Releases: branches usados para paquetes que serán pasados a
producción
https://namethattech.files.wordpress.com/2014/11/git-flow-updated.png
https://namethattech.files.wordpress.com/2014/11/git-flow-flipped.png?w=604&h=782
Agenda
1. ¿Qué es un sistema de control de versiones?
2. Clasificación de los sistemas de control de versiones
2.1. Sistema control de versiones locales
2.2. Sistema control de versiones centralizados
2.3. Sistema control de versiones distribuido
3. GIT
4. GIT Flow
5. Bibliografía
Bibliografía
✤ Pro Git book [en línea]. <https://git-scm.com/book/es/v1/Empezando-
Acerca-del-control-de-versiones> [Consulta: 04 enero 2017].
✤ A successful Git branching model [en línea]. Vincent Driessen, 5
enero 2010. <http://nvie.com/posts/a-successful-git-branching-model/>
[Consulta: 04 enero 2017].
✤ Conceptos de Subversion [en línea].
<http://www.fib.upc.edu/es/serveis/guies/subversion/conceptes.html>
[Consulta: 04 enero 2017].
✤ <http://slideplayer.com/slide/9544583/> [Consulta: 04 enero 2017].

Más contenido relacionado

La actualidad más candente

Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del softwareJohan Prevot R
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)katherine revelo gomez
 
Consideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSConsideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSevavivez
 
2.4 herramientas case
2.4 herramientas case2.4 herramientas case
2.4 herramientas caseIvan Rm
 
Marcos de referencia en la gestión de servicios de ti
Marcos de referencia en la gestión de servicios de tiMarcos de referencia en la gestión de servicios de ti
Marcos de referencia en la gestión de servicios de tiIshtar Metztli
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHPerozoAlejandro
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del softwareyeltsintorres18
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Yaskelly Yedra
 
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...Uriel Herrera
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareJahiro Bojorquez
 
Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.oriosofelia
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
 

La actualidad más candente (20)

Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del software
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Consideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSConsideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMS
 
2.4 herramientas case
2.4 herramientas case2.4 herramientas case
2.4 herramientas case
 
Marcos de referencia en la gestión de servicios de ti
Marcos de referencia en la gestión de servicios de tiMarcos de referencia en la gestión de servicios de ti
Marcos de referencia en la gestión de servicios de ti
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
B. manejo de concurrencia
B.  manejo de concurrenciaB.  manejo de concurrencia
B. manejo de concurrencia
 
Registros del cpu
Registros del cpuRegistros del cpu
Registros del cpu
 
Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del software
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)
 
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
Etl
EtlEtl
Etl
 
Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.o
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 

Similar a Sistema control versiones

Primeros pasos con git
Primeros pasos con gitPrimeros pasos con git
Primeros pasos con gitJuan Vladimir
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasJosé Moreno
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con gitEudris Cabrera
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando GitHugo Gilmar Erazo
 
GITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionadosGITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionadosyuri460292
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GITKeopx
 
Manual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdfManual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdfCarlosJurado61
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part IIMax Rodriguez
 
GIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfGIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfMartinBonuccelli
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a gitKeopx
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a GitManuel Ceron
 
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoPresentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoAntonio Luque Bravo
 
Induccion0_GitLab.pptx
Induccion0_GitLab.pptxInduccion0_GitLab.pptx
Induccion0_GitLab.pptxssuser3ff40a
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantesnscoder_mad
 
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDADTodo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDADDIEGOALBERTOENRIQUEZ4
 
Git para no gitters
Git para no gittersGit para no gitters
Git para no gittersRojomorgan
 

Similar a Sistema control versiones (20)

Primeros pasos con git
Primeros pasos con gitPrimeros pasos con git
Primeros pasos con git
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
 
Git - Gitlab
Git - GitlabGit - Gitlab
Git - Gitlab
 
Git res baz ec - final
Git   res baz ec - finalGit   res baz ec - final
Git res baz ec - final
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Git / Guía Básica
Git / Guía BásicaGit / Guía Básica
Git / Guía Básica
 
GITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionadosGITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionados
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GIT
 
Manual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdfManual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdf
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
 
GIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfGIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdf
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Tallerintroducciongit
TallerintroducciongitTallerintroducciongit
Tallerintroducciongit
 
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoPresentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
 
Induccion0_GitLab.pptx
Induccion0_GitLab.pptxInduccion0_GitLab.pptx
Induccion0_GitLab.pptx
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
 
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDADTodo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
 
Git para no gitters
Git para no gittersGit para no gitters
Git para no gitters
 

Más de Joan Sebastián Ramírez Pérez (20)

Clean architecture
Clean architectureClean architecture
Clean architecture
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Bddtddatdd
BddtddatddBddtddatdd
Bddtddatdd
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Orm
OrmOrm
Orm
 
Servicios web
Servicios webServicios web
Servicios web
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Ciclo devida
Ciclo devidaCiclo devida
Ciclo devida
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
Roles scrum
Roles scrumRoles scrum
Roles scrum
 
Lean startup
Lean startupLean startup
Lean startup
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 

Último

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 

Último (20)

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 

Sistema control versiones

  • 1. 2017 Control de versiones Joan Sebastián Ramírez Pérez
  • 2. Agenda 1. ¿Qué es un sistema de control de versiones? 2. Clasificación de los sistemas de control de versiones 2.1. Sistema control de versiones locales 2.2. Sistema control de versiones centralizados 2.3. Sistema control de versiones distribuido 3. GIT 4. GIT Flow 5. Bibliografía
  • 3. Agenda 1. ¿Qué es un sistema de control de versiones? 2. Clasificación de los sistemas de control de versiones 2.1. Sistema control de versiones locales 2.2. Sistema control de versiones centralizados 2.3. Sistema control de versiones distribuido 3. GIT 4. GIT Flow 5. Bibliografía
  • 4. Sistema de control de versiones
  • 5. ¿Qué es un sistema de control de versiones? ✤ Sistema que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo, de modo que puedas recuperar versiones específicas más adelante. ✤ Permite revertir archivos a un estado anterior, revertir el proyecto entero a un estado anterior, comparar cambios a lo largo del tiempo, ver quién modificó por última vez algo que puede estar causando un problema, quién introdujo un error y cuándo, entre otras cosas. ✤ Aplica para cualquier tipo de archivos, no necesariamente código fuente.
  • 6. Repositorio Lugar en el que se encuentran almacenados los archivos con sus respectivas versiones.
  • 7. Copia de trabajo Inicialmente es el directorio que se obtiene al hacer el check-out de un proyecto almacenado en un repositorio. La copia de trabajo contiene información para saber qué ficheros están sincronizados y cuáles no. También contiene los archivos que permiten mantener la sincronización con el repositorio.
  • 8. Trunk Contiene la última versión del proyecto que se está desarrollando, la versión común a todos los colaboradores.
  • 9. Branch Subdirectorio usado por cada colaborador para realizar sus cambios. Suele juntarse con otras versiones a través de merge.
  • 10. Merge Mecanismo usado para fusionar branches
  • 11. Tag Copias de seguridad (snapshots) del proyecto. A diferencia de los branches los tag no permiten modificar archivos.
  • 12. Agenda 1. ¿Qué es un sistema de control de versiones? 2. Clasificación de los sistemas de control de versiones 2.1. Sistema control de versiones locales 2.2. Sistema control de versiones centralizados 2.3. Sistema control de versiones distribuido 3. GIT 4. GIT Flow 5. Bibliografía
  • 13. Sistema de control de versiones locales ✤ Un método usado por muchos es copiar los archivos a otro directorio. Este enfoque es muy común porque es muy simple, pero también propenso a errores. ✤ Una de las herramientas de control de versiones más popular fue un sistema llamado rcs, que todavía podemos encontrar en muchos de los computadores actuales.
  • 14. Sistema de control de versiones centralizados (Centralized Version Control Systems o CVCSs) ✤ Un único servidor que contiene todos los archivos versionados, y varios clientes que descargan los archivos desde ese lugar central ✤ Herramientas como CVS, Subversion, y Perforce
  • 15.
  • 16. Sistema de control de versiones distribuidos (Distributed Version Control Systems o DVCSs) ✤ Los clientes no sólo descargan la última instantánea de los archivos, también replican completamente el repositorio. Así, si un servidor muere, y estos sistemas estaban colaborando a través de él, cualquiera de los repositorios de los clientes puede copiarse en el servidor para restaurarlo. ✤ Herramientas como Git, Mercurial, Bazaar o Darcs.
  • 17.
  • 18. Agenda 1. ¿Qué es un sistema de control de versiones? 2. Clasificación de los sistemas de control de versiones 2.1. Sistema control de versiones locales 2.2. Sistema control de versiones centralizados 2.3. Sistema control de versiones distribuido 3. GIT 4. GIT Flow 5. Bibliografía
  • 19. GIT ✤ Nació en 2005 ✤ Otros sistemas tienden a almacenar los datos como cambios de cada archivo respecto a una versión base. ✤ Git modela sus datos más como un conjunto de instantáneas de un mini sistema de archivos. Cada vez que confirmas un cambio, o guardas el estado de tu proyecto en Git, él básicamente hace una foto del aspecto de todos tus archivos en ese momento, y guarda una referencia a esa instantánea.
  • 20.
  • 21. Estados Git tiene tres estados principales en los que se pueden encontrar tus archivos: confirmado (committed), modificado (modified), y preparado (staged). ✤ Confirmado: significa que los datos están almacenados de manera segura en tu base de datos local. ✤ Modificado: significa que has modificado el archivo pero todavía no lo has confirmado a tu base de datos. ✤ Preparado: significa que has marcado un archivo modificado en su versión actual para que vaya en tu próxima confirmación.
  • 22. Secciones ✤ El directorio de Git (Git directory): es donde Git almacena los metadatos y la base de datos de objetos para tu proyecto. Es la parte más importante de Git, y es lo que se copia cuando clonas un repositorio desde otro ordenador. ✤ El directorio de trabajo (working directory): es una copia de una versión del proyecto. Estos archivos se sacan de la base de datos comprimida en el directorio de Git, y se colocan en disco para que los puedas usar o modificar. ✤ El área de preparación (staging area): es un sencillo archivo, generalmente contenido en tu directorio de Git, que almacena información acerca de lo que va a ir en tu próxima confirmación. A veces se le denomina índice, pero se está convirtiendo en estándar el referirse a ella como el área de preparación.
  • 23. Comandos ✤ git config –list: comprobar las configuraciones de Git del equipo ✤ git remote: muestra que repositorios remotos están configurados. ✤ git init: inicializa el repositorio. Crea un nuevo subdirectorio llamado .git que contiene todos los archivos necesarios del repositorio. ✤ git clone [url]: obtiene copia del repositorio de la URL ✤ git add [archivo]: agrega archivo para ser controlado ✤ git commit –m 'comentario': confirma los cambios y quedan con el comentario ingresado en el historico ✤ git status: identifica qué archivos se encuentran en que estados y da información sobre el branch actual ✤ git branch [nombre]: crea una rama
  • 24. Comandos ✤ git diff: compara lo que hay en tu directorio de trabajo con lo que hay en tu área de preparación. ✤ git rm [archivo]: prepara la eliminación del archivo. ✤ git mv file_from file_to: renombra el archivo ✤ git log: histórico ✤ git checkout – [archivo]: devuelve el archivo a la versión del branch ✤ git fetch [remote-name]: recuperar datos del repositorio remoto. ✤ git push [nombre-remoto][nombre-rama]: sube cambios a repositorio remoto ✤ git tag -a v[versión] -m comentario': crea el tag o etiqueta ✤ git pull: para recuperar y unir automáticamente la rama remota con tu rama actual.
  • 25. Usar Git gráfico ✤ SourceTree: https://www.sourcetreeapp.com / ✤ Git-cola: https://git- cola.github.io/ ✤ Gitg: https://wiki.gnome.org/Apps/Git g/
  • 26. Ignorar archivos ✤ Para estos casos se crea un archivo llamado .gitignore, en el que se listan los patrones de nombres que deseas que sean ignorados. ✤ Por ejemplo: *.[oa] *~ miArchivo.extensión La primera excluye todos los archivos terminados en .a o .o, la segunda todos los que terminan en tilde y la tercera el archivo con nombre miArchivo.extensión
  • 27. Agenda 1. ¿Qué es un sistema de control de versiones? 2. Clasificación de los sistemas de control de versiones 2.1. Sistema control de versiones locales 2.2. Sistema control de versiones centralizados 2.3. Sistema control de versiones distribuido 3. GIT 4. GIT Flow 5. Bibliografía
  • 28. Ramas o branches propuestos por Git Flow ✤ Master: se usa para tener la versión productiva ✤ Develop: se usa para integrar ramas y realizar regresiones ✤ Hotfix: estas ramas se usan para realizar ajustes a bugs que se encuentran sobre master. Se replican los cambios una vez son exitosos en master a develop. ✤ Features: branches usados para la creación de nuevas funcionalidades ✤ Releases: branches usados para paquetes que serán pasados a producción
  • 31.
  • 32.
  • 33.
  • 34. Agenda 1. ¿Qué es un sistema de control de versiones? 2. Clasificación de los sistemas de control de versiones 2.1. Sistema control de versiones locales 2.2. Sistema control de versiones centralizados 2.3. Sistema control de versiones distribuido 3. GIT 4. GIT Flow 5. Bibliografía
  • 35. Bibliografía ✤ Pro Git book [en línea]. <https://git-scm.com/book/es/v1/Empezando- Acerca-del-control-de-versiones> [Consulta: 04 enero 2017]. ✤ A successful Git branching model [en línea]. Vincent Driessen, 5 enero 2010. <http://nvie.com/posts/a-successful-git-branching-model/> [Consulta: 04 enero 2017]. ✤ Conceptos de Subversion [en línea]. <http://www.fib.upc.edu/es/serveis/guies/subversion/conceptes.html> [Consulta: 04 enero 2017]. ✤ <http://slideplayer.com/slide/9544583/> [Consulta: 04 enero 2017].