SlideShare una empresa de Scribd logo
18 nov '10
Sistemas de control de versiones
Noviembre de 2010
18 nov '10
Si las cosas fueran perfectas...
● No habría que
depurar...
● El trabajo sería
colaborativo...
● Absorberíamos los
posibles errores...
● <Inserte buenos
deseos aquí>
Introducción
18 nov '10
... pero como (afortunadamente) no
es así
Administración
● Del tiempo
● De los recursos
● De la gente
● Planeación,
organización,
dirección y control.
Introducción
18 nov '10
Las tres herramientas básicas de
cualquier programador
● Editor de texto
● Sistema de control de
versiones
● Sistema de
automatización de
construcciones
Introducción
18 nov '10
Las tres herramientas básicas de
cualquier programador
Se contempla sólo
para proyectos
“grandes”
● Editor de texto
● Sistema de control de
versiones
● Sistema de
automatización de
construcciones
Introducción
18 nov '10
¿Qué caso tiene?
Introducción
18 nov '10
Agenda
● ¿Qué es un control de versiones?
● Terminología básica
● Comandos básicos
● Estrategias de organización
● Recomendaciones y primeros pasos
Introducción
18 nov '10
Control de versiones
● Administración de
cambios a archivos
● Común en desarrollo
de software porque
un equipo puede
cambiar los mismos
archivos
● Los cambios se
representan con un
código: r16
¿Qué es un sistema de control de versiones?
18 nov '10
... para cada necesidad (o gusto)
● Centralizados
● Cliente-servidor
● Distribuidos
● P2P
cvs
CVSNT Visual Sourcesafe
SVK
¿Qué es un sistema de control de versiones?
18 nov '10
¿Centralizado o distribuido?
● De las mejores
maneras para iniciar
una guerra “religiosa”
● Lo importante es la
protección contra la
“Ley de Murphy”
¿Qué es un sistema de control de versiones?
18 nov '10
¿Usarlo o no usarlo?
● Murphy de nuevo
● Trabajo en equipo
● Claridad
● Organización
● Salud mental
¿Qué es un sistema de control de versiones?
18 nov '10
Hablemos de control de versiones
... en inglés (get used to it)
Baseline
Producto(s) a usarse
como base lógica de
comparación
● Working copy
Copia local y privada
● Revision
“Instantánea” en un momento dado
Terminología básica
18 nov '10
Versiones
Trunk
Branch
Discontinued
branch
Tags
Terminología básica
18 nov '10
Trabajando
Checkout
Change, diff, delta Commit, checkin
Repository
Terminología básica
18 nov '10
Compartiendo
Merge
Conflict Resolve
Terminología básica
File-locking
18 nov '10
¿Cómo crear un repositorio?
$ svnadmin create ejemplo
$ hg init ejemplo
$ git init ejemplo
Comandos básicos
18 nov '10
¿Cómo “bajar” una copia?
$ svn checkout||co [RUTA]
$ hg update||up||checkout||co [RUTA]
$ git checkout [RUTA]
Comandos básicos
18 nov '10
¿Cómo actualizar la copia local?
$ svn update||up
$ hg update||up||checkout||co
$ git pull
Comandos básicos
18 nov '10
¿Cómo almacenar cambios?
$ svn commit||ci [RUTA]
$ hg commit||ci [RUTA]
$ git push||commit [RUTA]
Comandos básicos
18 nov '10
¿Cómo almacenar nuevas cosas?
$ svn add [RUTA]
$ hg add [RUTA]
$ git add [RUTA]
Comandos básicos
18 nov '10
¿Cómo dejar de almacenar cosas?
$ svn delete||del||remove||rm [RUTA]
$ hg remove [RUTA]
$ git branch -d||D [RUTA]
Comandos básicos
18 nov '10
... entonces, ¿hay diferencia?
Comandos básicos
Al tener distintos objetivos
específicos, proporcionan
distintas características
18 nov '10
¿Por qué Subversion?
● Commits atómicos
● Al renombrar, mover o copiar archivos se
preserva el historial
● Se versionan los directorios
● Soporte nativo para binarios y tipos
MIME
● Múltiples protocolos incluyendo http y
https
● Se guardan y envían sólo los cambios
entre versiones
Comandos básicos
18 nov '10
¿Por qué Git?
● Ramas locales sin coste adicional
● Todo es local
● Rápido en rendimiento
● Tamaño pequeño
● Área de montaje: elegir qué archivos se enviarán y cuándo
● Todos tienen una copia completa, en caso de problemas
● Se adapta a múltiples flujos de trabajo
● GitHub: la red social del código
● Las revisiones se marcan como hashes SHA-1
Comandos básicos
18 nov '10
¿Por qué Mercurial?
● Soporte desde siempre para múltiples plataformas
● TortoiseHg: un GUI
● Sin necesidad de optimizaciones periódicas (git-gc)
● Proyectos muy grandes como Firefox, Python, OpenJDK
● Grande comunidad apoyando (Googlecode y Bitbucket)
● Las revisiones se marcan en hashes SHA-1 y hace “alias” como
números enteros locales
● Mapea nombres de usuario: además de usernames, nombres
completos y correos electrónicos
Comandos básicos
18 nov '10
Ingeniería de software
● Etiquetas (sólo
lectura)
● Ramas (aislamiento)
● Desarrollo en paralelo
Estrategias de organización
18 nov '10
Desarrollo Web
● Pruebas (sandboxed)
● “Staging sites”:
ensamblado, pruebas
y evaluaciones antes
de ir a producción
(garantía de calidad o
QA)
● Desarrollo en paralelo
Estrategias de organización
18 nov '10
Administración de sistemas
● Respaldo (y rápida
recuperación)
● Organización
● Documentación
Estrategias de organización
18 nov '10
Su punto débil
● Pueden reforzar esquemas
jerárquicos de desarrollo
● Dependencia en
infraestructura: servidor o
programas adicionales
● Curva de aprendizaje:
pareciera sólo para
desarrolladores
● Disciplina: hay que usarlos
Recomendaciones y primeros pasos
18 nov '10
¿Dónde empezar?
● http://www.nongnu.org/cvs
● http://cvsnt.org/
● http://subversion.apache.org/
● http://www.gnu.org/software/gnu-arch/
● http://svk.bestpractical.com/
● http://monotone.ca/
● http://codeville.org/
● http://git-scm.com/
● http://mercurial.selenic.com/
● http://bazaar.canonical.com/
● http://www.fossil-scm.org/
Recomendaciones y primeros pasos
18 nov '10
Comparativas y manuales
● Bloggeros y editores:
Para no comenzar de
cero...
● Buscar diferentes
fuentes
● ¿Dudas específicas?
Motores de búsqueda
Recomendaciones y primeros pasos
18 nov '10
... y no olvidar
● Se trata de
herramientas de
trabajo
COLABORATIVO
Recomendaciones y primeros pasos
18 nov '10
Bibliografía y mesografía
●
Control de versiones http://es.wikipedia.org/wiki/Control_de_versiones
● Version control with Subversion http://svnbook.red-bean.com/en/1.1/re04.html
● git(1) Manual Page http://www.kernel.org/pub/software/scm/git/docs/git.html
● Git ready: learn Git one commit at a time http://www.gitready.com/
● Mercurial: The Definitive Guide: http://hgbook.red-bean.com/read/index.html
● Control de versiones y Subversion http://www.slideshare.net/jlpino/control-de-
versiones-y-subversion
● How I learned to love revision control http://www.slideshare.net/yargevad/how-i-
learned-to-love-revision-controlM
Imágenes:
● www.2touchsoccer.com www.soccertraining.com
● www.soccerdrillstips.com eteamz.com
● www.nconnect.net www.connaughtceltic.com
Recomendaciones y primeros pasos
18 nov '10

Más contenido relacionado

La actualidad más candente

Git: control de versiones
Git: control de versionesGit: control de versiones
Git: control de versiones
Moisés Pérez Delgado
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de git
Antonio Ognio
 
Git flow en github
Git flow en githubGit flow en github
Git flow en github
MizaelMartinez2
 
Git flow en gitlab
Git flow en gitlabGit flow en gitlab
Git flow en gitlab
MizaelMartinez2
 
Control de versiones con GIT
Control de versiones con GITControl de versiones con GIT
Control de versiones con GIT
Julio Silva
 
Introducción al uso Git y GitHub para trabajo colaborativo
Introducción al uso Git y GitHub para trabajo colaborativoIntroducción al uso Git y GitHub para trabajo colaborativo
Introducción al uso Git y GitHub para trabajo colaborativo
Juan J. Merelo
 
Uso de git (Cursos de e-ghost 2011)
Uso de git (Cursos de e-ghost 2011)Uso de git (Cursos de e-ghost 2011)
Uso de git (Cursos de e-ghost 2011)
Iñaki Arenaza
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
nscoder_mad
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada dia
Alan Descoins
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
Manuel Ceron
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
Sergio Rus
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque práctico
Patxi Gortázar
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
Pedro Hernández
 
Git: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativoGit: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativo
Aprende Git
 
Git Primeros pasos
Git Primeros pasosGit Primeros pasos
Git Primeros pasos
Jesús Amieiro
 
Deploy gitlab vía ftp
Deploy gitlab vía ftp Deploy gitlab vía ftp
Deploy gitlab vía ftp
MizaelMartinez2
 

La actualidad más candente (16)

Git: control de versiones
Git: control de versionesGit: control de versiones
Git: control de versiones
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de git
 
Git flow en github
Git flow en githubGit flow en github
Git flow en github
 
Git flow en gitlab
Git flow en gitlabGit flow en gitlab
Git flow en gitlab
 
Control de versiones con GIT
Control de versiones con GITControl de versiones con GIT
Control de versiones con GIT
 
Introducción al uso Git y GitHub para trabajo colaborativo
Introducción al uso Git y GitHub para trabajo colaborativoIntroducción al uso Git y GitHub para trabajo colaborativo
Introducción al uso Git y GitHub para trabajo colaborativo
 
Uso de git (Cursos de e-ghost 2011)
Uso de git (Cursos de e-ghost 2011)Uso de git (Cursos de e-ghost 2011)
Uso de git (Cursos de e-ghost 2011)
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada dia
 
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
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque práctico
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Git: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativoGit: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativo
 
Git Primeros pasos
Git Primeros pasosGit Primeros pasos
Git Primeros pasos
 
Deploy gitlab vía ftp
Deploy gitlab vía ftp Deploy gitlab vía ftp
Deploy gitlab vía ftp
 

Destacado

Elaboracion De Prototipos, Rad Y Programacion Extrema
Elaboracion De Prototipos, Rad Y Programacion ExtremaElaboracion De Prototipos, Rad Y Programacion Extrema
Elaboracion De Prototipos, Rad Y Programacion Extrema
juniorCUA
 
Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)
Jenyfer Utitiaja
 
Diagramas rad ejemplos
Diagramas rad ejemplosDiagramas rad ejemplos
Diagramas rad ejemplos
carlossdani
 
Diagrama pad
Diagrama padDiagrama pad
Diagrama pad
UTCH
 
Desarrollo rápido de aplicaciones (rad)
Desarrollo rápido de aplicaciones (rad)Desarrollo rápido de aplicaciones (rad)
Desarrollo rápido de aplicaciones (rad)
Jean Carlos Toa
 
Modelo de Desarrollo Rápido de Aplicaciones (DRA)
Modelo de Desarrollo Rápido de Aplicaciones (DRA)Modelo de Desarrollo Rápido de Aplicaciones (DRA)
Modelo de Desarrollo Rápido de Aplicaciones (DRA)
Miguel Rodríguez
 
Desarrollo rápido de aplicaciones
Desarrollo rápido de aplicacionesDesarrollo rápido de aplicaciones
Desarrollo rápido de aplicaciones
Juan Pablo Bustos Thames
 

Destacado (7)

Elaboracion De Prototipos, Rad Y Programacion Extrema
Elaboracion De Prototipos, Rad Y Programacion ExtremaElaboracion De Prototipos, Rad Y Programacion Extrema
Elaboracion De Prototipos, Rad Y Programacion Extrema
 
Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)
 
Diagramas rad ejemplos
Diagramas rad ejemplosDiagramas rad ejemplos
Diagramas rad ejemplos
 
Diagrama pad
Diagrama padDiagrama pad
Diagrama pad
 
Desarrollo rápido de aplicaciones (rad)
Desarrollo rápido de aplicaciones (rad)Desarrollo rápido de aplicaciones (rad)
Desarrollo rápido de aplicaciones (rad)
 
Modelo de Desarrollo Rápido de Aplicaciones (DRA)
Modelo de Desarrollo Rápido de Aplicaciones (DRA)Modelo de Desarrollo Rápido de Aplicaciones (DRA)
Modelo de Desarrollo Rápido de Aplicaciones (DRA)
 
Desarrollo rápido de aplicaciones
Desarrollo rápido de aplicacionesDesarrollo rápido de aplicaciones
Desarrollo rápido de aplicaciones
 

Similar a Sistemas de control de versiones

Curso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCurso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en Github
Carlos Huamaní
 
Git y github
Git y githubGit y github
Git y github
MartinAguilar85
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y Github
Javier Novoa Cataño
 
Git y Github basico.pptx
Git y Github basico.pptxGit y Github basico.pptx
Git y Github basico.pptx
ssuser36d4d3
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
Max Rodriguez
 
Intro a GIT
Intro a GITIntro a GIT
Git windows
Git windowsGit windows
Git windows
Fernando Perez
 
OCA: Experiencia, Gestión, Funcionamiento
OCA: Experiencia, Gestión, FuncionamientoOCA: Experiencia, Gestión, Funcionamiento
OCA: Experiencia, Gestión, Funcionamiento
Maxime Chambreuil
 
Tema 1 Control de Versiones
Tema 1 Control de VersionesTema 1 Control de Versiones
Tema 1 Control de Versiones
Carlos A. Iglesias
 
¿Como colaborar en Debian?
¿Como colaborar en Debian?¿Como colaborar en Debian?
¿Como colaborar en Debian?
Ernesto Crespo
 
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
MartinBonuccelli
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
Hugo Gilmar Erazo
 
Git workflow
Git workflowGit workflow
Git workflow
René Olivo
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
José Moreno
 
Control de Versiones con Subversion (SVN)
Control de Versiones con Subversion (SVN)Control de Versiones con Subversion (SVN)
Control de Versiones con Subversion (SVN)
Fco Javier Lucena
 
Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5
AdrianAsisVegaSegura
 
Desarrollar e Implementar CI/CD con Github Actions - oct. 28
Desarrollar e Implementar CI/CD con Github Actions - oct. 28Desarrollar e Implementar CI/CD con Github Actions - oct. 28
Desarrollar e Implementar CI/CD con Github Actions - oct. 28
CloudNativeElSalvado
 
Recuperacion de defaces con versionador Git por Alevsk
Recuperacion de defaces con versionador Git por Alevsk Recuperacion de defaces con versionador Git por Alevsk
Recuperacion de defaces con versionador Git por Alevsk
Websec México, S.C.
 
Git workflow v2
Git workflow  v2Git workflow  v2
Git workflow v2
René Olivo
 
Despliegue de aplicaciones PHP
Despliegue de aplicaciones PHPDespliegue de aplicaciones PHP
Despliegue de aplicaciones PHP
AlicantePHP
 

Similar a Sistemas de control de versiones (20)

Curso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCurso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en Github
 
Git y github
Git y githubGit y github
Git y github
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y Github
 
Git y Github basico.pptx
Git y Github basico.pptxGit y Github basico.pptx
Git y Github basico.pptx
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
 
Intro a GIT
Intro a GITIntro a GIT
Intro a GIT
 
Git windows
Git windowsGit windows
Git windows
 
OCA: Experiencia, Gestión, Funcionamiento
OCA: Experiencia, Gestión, FuncionamientoOCA: Experiencia, Gestión, Funcionamiento
OCA: Experiencia, Gestión, Funcionamiento
 
Tema 1 Control de Versiones
Tema 1 Control de VersionesTema 1 Control de Versiones
Tema 1 Control de Versiones
 
¿Como colaborar en Debian?
¿Como colaborar en Debian?¿Como colaborar en Debian?
¿Como colaborar en Debian?
 
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
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Git workflow
Git workflowGit workflow
Git workflow
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
Control de Versiones con Subversion (SVN)
Control de Versiones con Subversion (SVN)Control de Versiones con Subversion (SVN)
Control de Versiones con Subversion (SVN)
 
Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5
 
Desarrollar e Implementar CI/CD con Github Actions - oct. 28
Desarrollar e Implementar CI/CD con Github Actions - oct. 28Desarrollar e Implementar CI/CD con Github Actions - oct. 28
Desarrollar e Implementar CI/CD con Github Actions - oct. 28
 
Recuperacion de defaces con versionador Git por Alevsk
Recuperacion de defaces con versionador Git por Alevsk Recuperacion de defaces con versionador Git por Alevsk
Recuperacion de defaces con versionador Git por Alevsk
 
Git workflow v2
Git workflow  v2Git workflow  v2
Git workflow v2
 
Despliegue de aplicaciones PHP
Despliegue de aplicaciones PHPDespliegue de aplicaciones PHP
Despliegue de aplicaciones PHP
 

Último

REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
jgvanessa23
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Uso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptxUso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptx
231485414
 
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdktrabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
KukiiSanchez
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
AdrianaRengifo14
 
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMAUML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
martinezluis17
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
231458066
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdfCURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
LagsSolucSoporteTecn
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
yuberpalma
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 

Último (20)

REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Uso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptxUso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptx
 
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdktrabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
 
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMAUML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdfCURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 

Sistemas de control de versiones

  • 1. 18 nov '10 Sistemas de control de versiones Noviembre de 2010
  • 2. 18 nov '10 Si las cosas fueran perfectas... ● No habría que depurar... ● El trabajo sería colaborativo... ● Absorberíamos los posibles errores... ● <Inserte buenos deseos aquí> Introducción
  • 3. 18 nov '10 ... pero como (afortunadamente) no es así Administración ● Del tiempo ● De los recursos ● De la gente ● Planeación, organización, dirección y control. Introducción
  • 4. 18 nov '10 Las tres herramientas básicas de cualquier programador ● Editor de texto ● Sistema de control de versiones ● Sistema de automatización de construcciones Introducción
  • 5. 18 nov '10 Las tres herramientas básicas de cualquier programador Se contempla sólo para proyectos “grandes” ● Editor de texto ● Sistema de control de versiones ● Sistema de automatización de construcciones Introducción
  • 6. 18 nov '10 ¿Qué caso tiene? Introducción
  • 7. 18 nov '10 Agenda ● ¿Qué es un control de versiones? ● Terminología básica ● Comandos básicos ● Estrategias de organización ● Recomendaciones y primeros pasos Introducción
  • 8. 18 nov '10 Control de versiones ● Administración de cambios a archivos ● Común en desarrollo de software porque un equipo puede cambiar los mismos archivos ● Los cambios se representan con un código: r16 ¿Qué es un sistema de control de versiones?
  • 9. 18 nov '10 ... para cada necesidad (o gusto) ● Centralizados ● Cliente-servidor ● Distribuidos ● P2P cvs CVSNT Visual Sourcesafe SVK ¿Qué es un sistema de control de versiones?
  • 10. 18 nov '10 ¿Centralizado o distribuido? ● De las mejores maneras para iniciar una guerra “religiosa” ● Lo importante es la protección contra la “Ley de Murphy” ¿Qué es un sistema de control de versiones?
  • 11. 18 nov '10 ¿Usarlo o no usarlo? ● Murphy de nuevo ● Trabajo en equipo ● Claridad ● Organización ● Salud mental ¿Qué es un sistema de control de versiones?
  • 12. 18 nov '10 Hablemos de control de versiones ... en inglés (get used to it) Baseline Producto(s) a usarse como base lógica de comparación ● Working copy Copia local y privada ● Revision “Instantánea” en un momento dado Terminología básica
  • 14. 18 nov '10 Trabajando Checkout Change, diff, delta Commit, checkin Repository Terminología básica
  • 15. 18 nov '10 Compartiendo Merge Conflict Resolve Terminología básica File-locking
  • 16. 18 nov '10 ¿Cómo crear un repositorio? $ svnadmin create ejemplo $ hg init ejemplo $ git init ejemplo Comandos básicos
  • 17. 18 nov '10 ¿Cómo “bajar” una copia? $ svn checkout||co [RUTA] $ hg update||up||checkout||co [RUTA] $ git checkout [RUTA] Comandos básicos
  • 18. 18 nov '10 ¿Cómo actualizar la copia local? $ svn update||up $ hg update||up||checkout||co $ git pull Comandos básicos
  • 19. 18 nov '10 ¿Cómo almacenar cambios? $ svn commit||ci [RUTA] $ hg commit||ci [RUTA] $ git push||commit [RUTA] Comandos básicos
  • 20. 18 nov '10 ¿Cómo almacenar nuevas cosas? $ svn add [RUTA] $ hg add [RUTA] $ git add [RUTA] Comandos básicos
  • 21. 18 nov '10 ¿Cómo dejar de almacenar cosas? $ svn delete||del||remove||rm [RUTA] $ hg remove [RUTA] $ git branch -d||D [RUTA] Comandos básicos
  • 22. 18 nov '10 ... entonces, ¿hay diferencia? Comandos básicos Al tener distintos objetivos específicos, proporcionan distintas características
  • 23. 18 nov '10 ¿Por qué Subversion? ● Commits atómicos ● Al renombrar, mover o copiar archivos se preserva el historial ● Se versionan los directorios ● Soporte nativo para binarios y tipos MIME ● Múltiples protocolos incluyendo http y https ● Se guardan y envían sólo los cambios entre versiones Comandos básicos
  • 24. 18 nov '10 ¿Por qué Git? ● Ramas locales sin coste adicional ● Todo es local ● Rápido en rendimiento ● Tamaño pequeño ● Área de montaje: elegir qué archivos se enviarán y cuándo ● Todos tienen una copia completa, en caso de problemas ● Se adapta a múltiples flujos de trabajo ● GitHub: la red social del código ● Las revisiones se marcan como hashes SHA-1 Comandos básicos
  • 25. 18 nov '10 ¿Por qué Mercurial? ● Soporte desde siempre para múltiples plataformas ● TortoiseHg: un GUI ● Sin necesidad de optimizaciones periódicas (git-gc) ● Proyectos muy grandes como Firefox, Python, OpenJDK ● Grande comunidad apoyando (Googlecode y Bitbucket) ● Las revisiones se marcan en hashes SHA-1 y hace “alias” como números enteros locales ● Mapea nombres de usuario: además de usernames, nombres completos y correos electrónicos Comandos básicos
  • 26. 18 nov '10 Ingeniería de software ● Etiquetas (sólo lectura) ● Ramas (aislamiento) ● Desarrollo en paralelo Estrategias de organización
  • 27. 18 nov '10 Desarrollo Web ● Pruebas (sandboxed) ● “Staging sites”: ensamblado, pruebas y evaluaciones antes de ir a producción (garantía de calidad o QA) ● Desarrollo en paralelo Estrategias de organización
  • 28. 18 nov '10 Administración de sistemas ● Respaldo (y rápida recuperación) ● Organización ● Documentación Estrategias de organización
  • 29. 18 nov '10 Su punto débil ● Pueden reforzar esquemas jerárquicos de desarrollo ● Dependencia en infraestructura: servidor o programas adicionales ● Curva de aprendizaje: pareciera sólo para desarrolladores ● Disciplina: hay que usarlos Recomendaciones y primeros pasos
  • 30. 18 nov '10 ¿Dónde empezar? ● http://www.nongnu.org/cvs ● http://cvsnt.org/ ● http://subversion.apache.org/ ● http://www.gnu.org/software/gnu-arch/ ● http://svk.bestpractical.com/ ● http://monotone.ca/ ● http://codeville.org/ ● http://git-scm.com/ ● http://mercurial.selenic.com/ ● http://bazaar.canonical.com/ ● http://www.fossil-scm.org/ Recomendaciones y primeros pasos
  • 31. 18 nov '10 Comparativas y manuales ● Bloggeros y editores: Para no comenzar de cero... ● Buscar diferentes fuentes ● ¿Dudas específicas? Motores de búsqueda Recomendaciones y primeros pasos
  • 32. 18 nov '10 ... y no olvidar ● Se trata de herramientas de trabajo COLABORATIVO Recomendaciones y primeros pasos
  • 33. 18 nov '10 Bibliografía y mesografía ● Control de versiones http://es.wikipedia.org/wiki/Control_de_versiones ● Version control with Subversion http://svnbook.red-bean.com/en/1.1/re04.html ● git(1) Manual Page http://www.kernel.org/pub/software/scm/git/docs/git.html ● Git ready: learn Git one commit at a time http://www.gitready.com/ ● Mercurial: The Definitive Guide: http://hgbook.red-bean.com/read/index.html ● Control de versiones y Subversion http://www.slideshare.net/jlpino/control-de- versiones-y-subversion ● How I learned to love revision control http://www.slideshare.net/yargevad/how-i- learned-to-love-revision-controlM Imágenes: ● www.2touchsoccer.com www.soccertraining.com ● www.soccerdrillstips.com eteamz.com ● www.nconnect.net www.connaughtceltic.com Recomendaciones y primeros pasos