Tema 1 Control de Versiones

download Tema 1 Control de Versiones

of 14

  • date post

    27-Jun-2015
  • Category

    Technology

  • view

    700
  • download

    0

Embed Size (px)

description

Introducción a control de versiones

Transcript of Tema 1 Control de Versiones

  • 1. Anlisis y Diseode SoftwareTema 1. Control de versionesCarlos A. Iglesias Departamento de Ingeniera de Sistemas Telemticoshttp://moodle.dit.upm.es

2. LeyendaTeoraEjercicio prctico en el ordenadorAmpliacin de conocimientosLectura / Vdeo / PodcastPrctica libre / Experimentacin Control de versiones 2 3. Cmo comparten cdigo...? En una empresacientos deprogramadoresprogramando a lavez el mismoprograma Distribuidos poroficinas en todo elmundoControl de versiones 3 4. Cmo comparten cdigo...? Programadores decdigo abiertoDistribuidos portodo el mundoControl de versiones 4 5. Se mandan el cdigo? Control de versiones 5 6. Ms problemas Qu pasa si dospersonas hancambiado el mismocdigo?cmo lomezclan?Cmo te enteras desi alguien hacambiado algo siestn mil personastrabajando? Control de versiones 6 7. Solucin: control deversiones Unsistema que gestiona un repositorio de cdigo (remoto) donde los usuarios pueden Descargar el cdigo del repositorio en suordenador (checkout) Modificar el cdigo en local, crear nuevos ficheros,y aadirlos al repositorio (commit) Si al aadir cdigo hay conflictos (con otrousuario), el gestor combina el cdigo si puede Cada vez que hacemos commit, se crea unaversin, y podemos recuperar versiones anteriores Podemos tener varias ramas, p.ej. para unaversin y la siguiente, y combinarlas Control de versiones 7 8. Sistemas de Control de Versiones Centralizados Un repositorio central CVS, Subversion (SVN) Distribuidos Servidor con ms autoridad por convenio Cada checkout es un repositorio Mercurial BitKeeper BazaarControl de versiones 8 9. Git 2005,Desarrollado por Linus Torvald para el kernel de Linux Segn Linus, no es un sistema de control de versiones, sino un sistema de ficheros orientado a objeto versionable... pero se usa como control de versionesControl de versiones 9 10. Git Cada repositorio es completo (nosbajamos todos los ficheros) Nos bajamos clonamos un repositorio Al modificar / editar / aadir el cdigo se aadea staging / index Al confirmar los cambios los aadimos alrepositorio Git usa fotos del repositorio Control de versiones 10 11. ProcesoControl de versiones 11 12. ProcesoClonamos un repositorio oiniciamos uno Los tenemos en el workingdirectory Editamos, aadimos ficheros y los aadimos a git (los tenemos tambin en index) Decidimos confirmar los cambios (commit) pasan al repositorio (HEAD)Control de versiones 12 13. Github Es una forja para almacenar proyectos Tiene componente social (seguir amigos,compartir cdigo, etc.) Lo vamos a utilizar para guardar el cdigoproporcionado en las prcticas (endireccin asignatura alumnos) Control de versiones 13 14. Resumen Es importante aprender a usar un sistemade control de versionesOlvdate de numerar las versiones de unprograma (p.java, p1.java, ) es msrpido usar control de versiones Muy bien integrado en IDEs Control de versiones 14