SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
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
Control de versiones
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.
Control de versiones
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.
Control de versiones
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
Control de versiones
Control de versiones
Control de versiones
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].

Weitere ähnliche Inhalte

Was ist angesagt?

Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
Diseno de la arquitectura
Diseno de la arquitecturaDiseno de la arquitectura
Diseno de la arquitecturaFatima Cham
 
Clasificación de los requerimientos
Clasificación de los requerimientosClasificación de los requerimientos
Clasificación de los requerimientosFSILSCA
 
Presentación de fases de diseño de base de datos
Presentación de fases de diseño de base de datosPresentación de fases de diseño de base de datos
Presentación de fases de diseño de base de datosYarquiri Claudio
 
Presentacion sistemas distribuidos
Presentacion sistemas distribuidosPresentacion sistemas distribuidos
Presentacion sistemas distribuidosYohany Acosta
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de SoftwareCamila Arbelaez
 
Semana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionSemana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionGiovani Ramirez
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)claudiachiri
 
SEGURIDAD EN LINUX vs SEGURIDAD EN WINDOWS
SEGURIDAD EN LINUX vs SEGURIDAD EN WINDOWSSEGURIDAD EN LINUX vs SEGURIDAD EN WINDOWS
SEGURIDAD EN LINUX vs SEGURIDAD EN WINDOWSFlakita Pinduisaca
 
Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones DistribuidasSorey García
 

Was ist angesagt? (20)

Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Diseno de la arquitectura
Diseno de la arquitecturaDiseno de la arquitectura
Diseno de la arquitectura
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Clasificación de los requerimientos
Clasificación de los requerimientosClasificación de los requerimientos
Clasificación de los requerimientos
 
Ingenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridadIngenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridad
 
Presentación de fases de diseño de base de datos
Presentación de fases de diseño de base de datosPresentación de fases de diseño de base de datos
Presentación de fases de diseño de base de datos
 
Presentacion sistemas distribuidos
Presentacion sistemas distribuidosPresentacion sistemas distribuidos
Presentacion sistemas distribuidos
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
Semana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionSemana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestion
 
ITIL
ITILITIL
ITIL
 
Recuperacion de bd
Recuperacion de bdRecuperacion de bd
Recuperacion de bd
 
Servidor presentacion
Servidor presentacionServidor presentacion
Servidor presentacion
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Fundamentos de las bases de datos
Fundamentos de las bases de datosFundamentos de las bases de datos
Fundamentos de las bases de datos
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)
 
SEGURIDAD EN LINUX vs SEGURIDAD EN WINDOWS
SEGURIDAD EN LINUX vs SEGURIDAD EN WINDOWSSEGURIDAD EN LINUX vs SEGURIDAD EN WINDOWS
SEGURIDAD EN LINUX vs SEGURIDAD EN WINDOWS
 
Arquitectura fisica y logica
Arquitectura fisica y logicaArquitectura fisica y logica
Arquitectura fisica y logica
 
Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones Distribuidas
 
3.1.6 espacio para objetos
3.1.6 espacio  para objetos3.1.6 espacio  para objetos
3.1.6 espacio para objetos
 
1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
 

Ähnlich wie Control de 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
 
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
 

Ähnlich wie Control de 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
 
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
 
Git y github
Git y githubGit y github
Git y github
 

Mehr von 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
 

Kürzlich hochgeladen

¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software
¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software
¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu softwareFrancisco Javier Barrena
 
taller de la electricidad y electrónica
taller de  la electricidad y electrónicataller de  la electricidad y electrónica
taller de la electricidad y electrónicaErickAlegria3
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOS
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOSDESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOS
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOSreinamanuela20
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2montoyagabriela340
 
PPT de introducción a la unidad 1 de 5 Basico.pptx
PPT de introducción a la unidad 1 de 5 Basico.pptxPPT de introducción a la unidad 1 de 5 Basico.pptx
PPT de introducción a la unidad 1 de 5 Basico.pptxProfeVivianaRS
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSLincangoKevin
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 
Taller de tecnología conclucion tonotoss
Taller de tecnología conclucion tonotossTaller de tecnología conclucion tonotoss
Taller de tecnología conclucion tonotossgijhonpa
 
Trabajo de La Electricidad y La Electrónica
Trabajo de La Electricidad y La ElectrónicaTrabajo de La Electricidad y La Electrónica
Trabajo de La Electricidad y La ElectrónicaCamilaCordoba30
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfcastrodanna185
 
Calculadora cientifica corregida para enviar.docx
Calculadora cientifica  corregida para enviar.docxCalculadora cientifica  corregida para enviar.docx
Calculadora cientifica corregida para enviar.docxzoecaicedosalazar
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....Aaron Betancourt
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.marianarodriguezc797
 

Kürzlich hochgeladen (20)

¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software
¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software
¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
taller de la electricidad y electrónica
taller de  la electricidad y electrónicataller de  la electricidad y electrónica
taller de la electricidad y electrónica
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOS
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOSDESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOS
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOS
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2
 
PPT de introducción a la unidad 1 de 5 Basico.pptx
PPT de introducción a la unidad 1 de 5 Basico.pptxPPT de introducción a la unidad 1 de 5 Basico.pptx
PPT de introducción a la unidad 1 de 5 Basico.pptx
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 
Taller de tecnología conclucion tonotoss
Taller de tecnología conclucion tonotossTaller de tecnología conclucion tonotoss
Taller de tecnología conclucion tonotoss
 
Trabajo de La Electricidad y La Electrónica
Trabajo de La Electricidad y La ElectrónicaTrabajo de La Electricidad y La Electrónica
Trabajo de La Electricidad y La Electrónica
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdf
 
Calculadora cientifica corregida para enviar.docx
Calculadora cientifica  corregida para enviar.docxCalculadora cientifica  corregida para enviar.docx
Calculadora cientifica corregida para enviar.docx
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.
 

Control de 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
  • 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.
  • 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.
  • 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
  • 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].