SlideShare una empresa de Scribd logo
1 de 34
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

Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de gitAntonio Ognio
 
Control de versiones con GIT
Control de versiones con GITControl de versiones con GIT
Control de versiones con GITJulio 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 colaborativoJuan 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-principiantesnscoder_mad
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada diaAlan Descoins
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a GitManuel Ceron
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a GitSergio Rus
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque prácticoPatxi Gortázar
 
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 colaborativoAprende Git
 
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 ExtremajuniorCUA
 
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 ejemploscarlossdani
 
Diagrama pad
Diagrama padDiagrama pad
Diagrama padUTCH
 
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
 

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 GithubCarlos Huamaní
 
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 GithubJavier Novoa Cataño
 
Git y Github basico.pptx
Git y Github basico.pptxGit y Github basico.pptx
Git y Github basico.pptxssuser36d4d3
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part IIMax Rodriguez
 
OCA: Experiencia, Gestión, Funcionamiento
OCA: Experiencia, Gestión, FuncionamientoOCA: Experiencia, Gestión, Funcionamiento
OCA: Experiencia, Gestión, FuncionamientoMaxime Chambreuil
 
¿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.pdfMartinBonuccelli
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando GitHugo Gilmar Erazo
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasJosé 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.5AdrianAsisVegaSegura
 
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. 28CloudNativeElSalvado
 
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.
 
Despliegue de aplicaciones PHP
Despliegue de aplicaciones PHPDespliegue de aplicaciones PHP
Despliegue de aplicaciones PHPAlicantePHP
 

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

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
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
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
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
 

Último (16)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
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
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
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
 

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