SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
1
1. DATOS ACADEMICOS:
Nombre Asignatura : Ingeniería de software II
Tema : Control de versiones
Docente : Manuel Jesús Ibarra Cabrera
2. PROCEDIMENTAL
- Realiza programas utilizando el control de versiones de software, tanto en plataforma
Windows como en Linux.
3. SESION Nº 01 (Tiempo Estimado: 02 Horas)
El trabajo consiste en crear un servidor “subversión” y manipularlo con un cliente
TortoiseSVN
4. MARCO TEÓRICO
Introducción
- Alguna vez te ha sucedido que cuando estabas haciendo un programa (ejm.
Multiplicar 2 matrices) lo tenias todo bien hecho y funcionando, y de repente
quisiste modificar algo y ya no funcionó!... y quisiste volver a la versión anterior
y por más que intentaste con Ctrol-Z no lo lograste!
- Alguna vez te ha pasado que cuando estabas haciendo un programa, y tenias algo
funcional, y tal vez modificaste algo y grabaste algo que no debías haberlo
hecho y ya no puedes volver a la versión anterior.
- Alguna vez te ha pasado que al hacer un programa entre varios compañeros,
decidieron juntar los programas y resulta que las funciones (o procedimientos)
de uno de ellos sobrescribió al del otro y finalmente no lograron juntarlo!.
Ante los problemas anteriores, hoy en día se maneja un tema muy importante como
es el del control de versiones de los programas (en general de cualquier
documento).
Control de versiones
Definición
Un sistema de control de versiones (o sistema de control de revisiones) es una combinación de
tecnologías y prácticas para seguir y controlar los cambios realizados en los ficheros del
proyecto, en particular en el código fuente, en la documentación y en las páginas web.
Porque usarlo?
La razón por la cual el control de versiones es universal es porque ayuda virtualmente en todos
los aspectos al dirigir un proyecto: comunicación entre los desarrolladores, manejo de los
lanzamientos, administración de fallos, estabilidad entre el código y los esfuerzos de desarrollo
experimental y atribución y autorización en los cambios de los desarrolladores. El sistema de
control de versiones permite a una fuerza coordinadora central abarcar todas estas áreas. El
núcleo del sistema es la gestión de cambios: identificar cada cambio a los ficheros del proyecto,
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC
CARRERA PROFESIONAL DE INGENIERÍA INFORMÁTICA Y SISTEMAS
2
anotar cada cambio con meta-data como la fecha y el autor de la modificación y disponer esta
información para quien sea y como sea. Es un mecanismo de comunicación donde el cambio es
la unidad básica de información.
Ejemplos de Herramientas
Ejemplos de este tipo de herramientas son entre otros
- CVS
- Subversion
- SourceSafe
- ClearCase
- Darcs
- Bazaar
- Plastic SCM
- Git,
- Mercurial
- Perforce
5. TRABAJO PRÁCTICO
Ejemplo 1: Subversion
I) Instalar TortoiseSVN
Solicita el instalador e instálalo
II) Crear el repositorio “SERVER”
a. Crear una carpeta “miweb” en el escritorio
b. Hacemos clic derecho sobre ella y buscamos la opción [Create repository here], que
se encuentra dentro del ítem [TortoiseSVN]. La herramienta nos mostrará una
ventana donde tendremos que elegir el tipo de repositorio.
3
Click “Start Repobrowser”
4
III) Hacer el primer Checkout (CLIENTE)
Ahora debemos crear una carpeta para trabajar en nuestra copia privada y hacer el primer
checkout (bajar del server hacia nuestra PC Cliente)
a) Crear una carpeta “D:webCamila”, ingresar dentro de esta carpeta
Click derecho en el vacío y luego “ChekOut”, luego completar el siguiente cuadro:
Luego OK
IV)Hacer algún cambio
Ahora bien, crearemos un archivo nuevo de texto en la misma carpeta del punto anterior.
Este archivo será luego nuestro primer commit.
Crea un archivo “index.html” en la carpeta local “D:webCamila” (escribir un hola mundo
en HTML)
Esto puede ser una
dirección en internet
(SERVER)
Esto es mi carpeta
local de trabajo
5
V) Hacer el primer commit
Ahora subiremos el archivo creado en el punto anterior. Si prestamos atención, el icono
de la carpeta con nuestra copia privada ahora tiene un icono de una tilde. Esto quiere
decir que hay cambios en esa carpeta, listos para ser sincronizados en el repositorio.
Hacemos clic derecho en la carpeta (d:webCamila) y seleccionamos [SVN Commit].
TortoiseSVN mostrará una ventana con información que tendremos que completar sobre
la versión que estamos subiendo. En la mitad inferior de esta ventana veremos los
archivos que fueron modificados (en este caso, el archivo html) y sus propiedades.
Seleccionamos el archivo y continuamos. TortoiseSVN aplicará los cambios en el
repositorio para completar la flamante versión 1 del proyecto
Luego OK
6
Modifica el archivo index.html, agrega más archivos, etc., y juega todo lo que quieras…
VI)Consideraciones a tener en cuenta
Veamos en qué consisten:
1) SVN CHECKOUT
Descarga una copia privada de la última versión del proyecto, es decir, una working copy, a
nuestra máquina. Es lo rimero que tenemos que hacer al iniciar una sesión de trabajo con SVN.
2) SVN UPDATE
Como su nombre indica, se usa para actualizar nuestra working copy con los últimos cambios
hechos por nuestros compañeros. Este comando debe ejecutarse a menudo para tener siempre
una copia fresca del proyecto.
3) SVN COMMIT
Envía al repositorio los cambios que hicimos en nuestra copia privada. De más está decir que es
una buena práctica, en cada commit, comentar los cambios que hicimos en la versión que
estamos enviando. De esta manera, nuestros compañeros de equipo tendrán una buena ayuda
sobre qué es lo nuevo en la última versión que están descargando (los comentarios se pueden
agregar usando el mismo comando commit o, como veremos más adelante, completando un
campo en una ventana).
Estos comandos tienen sus semejantes en la herramienta visual, TortoiseSVN, por lo que
haciendo un par de clics evitaremos tipearlos en una ventana de terminal. Sin embargo, lo
importante en este punto es que entiendan el proceso de trabajar con Subversion, que en su
concepción más simple consiste en tres pasos: 1. checkout, 2. update y 3. commit. Con el
tiempo aprenderemos más comandos útiles para trabajar con el sistema, como svn diff, que
permite buscar diferencias entre los archivos que estamos subiendo.
6. TRABAJO DE INVESTIGACIÓN
1) Averigua en cómo usar el comando DIFF
2) Crea una página web de tu grupo, El jefe de proyecto debe decir que partes debe hacer cada
uno, por ejemplo: Página principal, integrantes, proyectos, buscadores ,contactos, etc. Cada
uno debe trabajar localmente y luego juntarlo en el servidor.
3) El mismo ejercicio anterior pero utilizando http://xp-dev.com
Ayuda:
De aquí en adelante, el proceso de trabajo será similar: hacer un
checkout de la última versión en el repositorio, realizar cambios en
nuestra copia privada, luego hacer un update y, por último, un
commit. En la práctica, y con grupos de trabajo, el proceso no es tan
sencillo, ya que si hay inconsistencias entre los archivos, tendremos
que combinarlos (lo que en la jerga se conoce como merge), lo cual a
veces puede resultar en más de un dolor de cabeza. Pero, claro, todo
esto se aprende durante la marcha.
7
a) Ir a http://xp-dev.com/
b) Crear una cuenta
c) Crear un nuevo proyecto
8
d) Crear un repositorio
e) Ahora investiga como enviar los archivos al server. Éxitos
4) Aquí no queda todo, hay situaciones en las que hay conflictos en la actualización, conflicto
de versiones, Trunk, Branches, etc. Deberás averiguar en qué consisten y como resolverlos.

Más contenido relacionado

La actualidad más candente

Control de versiones utilizando subversion
Control de versiones utilizando subversionControl de versiones utilizando subversion
Control de versiones utilizando subversionJulio Pari
 
Control de versiones con Git y Github
Control de versiones con Git y GithubControl de versiones con Git y Github
Control de versiones con Git y Githubguest638090
 
Transferencia de archivos
Transferencia de archivosTransferencia de archivos
Transferencia de archivosyeremipadilla2
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014quaip
 
Documentacion Proyecto Final
Documentacion Proyecto FinalDocumentacion Proyecto Final
Documentacion Proyecto FinalMoisesAlvarez38
 
Presentación informática/ Informática II
Presentación informática/ Informática IIPresentación informática/ Informática II
Presentación informática/ Informática IIRcristinaG2000
 
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100[Drupal campspain2017] Contribuir a Drupal, de 0 a 100
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100Keopx
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsBEEVA_es
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando dockerChristian Rodriguez
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Keopx
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSJan Sanchez
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopRestorando
 
Tutorial dropbox
Tutorial dropboxTutorial dropbox
Tutorial dropboxIrina Leon
 

La actualidad más candente (20)

Control de versiones utilizando subversion
Control de versiones utilizando subversionControl de versiones utilizando subversion
Control de versiones utilizando subversion
 
Control de versiones con Git y Github
Control de versiones con Git y GithubControl de versiones con Git y Github
Control de versiones con Git y Github
 
Transferencia de archivos
Transferencia de archivosTransferencia de archivos
Transferencia de archivos
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014
 
Documentacion Proyecto Final
Documentacion Proyecto FinalDocumentacion Proyecto Final
Documentacion Proyecto Final
 
Presentación informática/ Informática II
Presentación informática/ Informática IIPresentación informática/ Informática II
Presentación informática/ Informática II
 
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100[Drupal campspain2017] Contribuir a Drupal, de 0 a 100
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y Jenkins
 
FROM lost to the docker
FROM lost to the dockerFROM lost to the docker
FROM lost to the docker
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
 
JPA en NetBeans
JPA en NetBeansJPA en NetBeans
JPA en NetBeans
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJS
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshop
 
Conceptos avanzados en docker
Conceptos avanzados en dockerConceptos avanzados en docker
Conceptos avanzados en docker
 
Tutorial dropbox
Tutorial dropboxTutorial dropbox
Tutorial dropbox
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Visual studio c_
Visual studio c_Visual studio c_
Visual studio c_
 
Atix30
Atix30Atix30
Atix30
 
Control de versiones y Subversion
Control de versiones y SubversionControl de versiones y Subversion
Control de versiones y Subversion
 

Similar a Guia01 control versiones

Gestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniterGestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniterandrewzg
 
U1 Control de versiones.pdf
U1 Control de versiones.pdfU1 Control de versiones.pdf
U1 Control de versiones.pdfEric Quiñones
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versionesEudris Cabrera
 
trabajo practico nº2 Gaston
trabajo practico nº2 Gastontrabajo practico nº2 Gaston
trabajo practico nº2 GastonGastonvillagran
 
T. Practico n°2 Lucas
T. Practico n°2 LucasT. Practico n°2 Lucas
T. Practico n°2 LucasLucasCambera
 
Control de versiones con Subversion
Control de versiones con SubversionControl de versiones con Subversion
Control de versiones con Subversionnqnwebs
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasJosé Moreno
 
Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)javier_ot99
 
Principios de estandares abiertos s13
Principios de estandares abiertos s13Principios de estandares abiertos s13
Principios de estandares abiertos s13Maestros en Linea MX
 
Principios de estandares abiertos s13
Principios de estandares abiertos s13Principios de estandares abiertos s13
Principios de estandares abiertos s13Maestros Online
 
Tp n°2 parte a
Tp n°2 parte aTp n°2 parte a
Tp n°2 parte asantyxxs
 
Presentación SUbversion
Presentación SUbversionPresentación SUbversion
Presentación SUbversionrxif914u41
 
Presentacion Subversion
Presentacion SubversionPresentacion Subversion
Presentacion SubversionCesar Yanez
 
Laboratorio GXserver (cont)
Laboratorio GXserver (cont)Laboratorio GXserver (cont)
Laboratorio GXserver (cont)GeneXus
 
Laboratorio GXserver
Laboratorio GXserverLaboratorio GXserver
Laboratorio GXserverGeneXus
 

Similar a Guia01 control versiones (20)

Gestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniterGestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniter
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
U1 Control de versiones.pdf
U1 Control de versiones.pdfU1 Control de versiones.pdf
U1 Control de versiones.pdf
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
 
trabajo practico nº2 Gaston
trabajo practico nº2 Gastontrabajo practico nº2 Gaston
trabajo practico nº2 Gaston
 
Subversion
SubversionSubversion
Subversion
 
T. Practico n°2 Lucas
T. Practico n°2 LucasT. Practico n°2 Lucas
T. Practico n°2 Lucas
 
Control de versiones con Subversion
Control de versiones con SubversionControl de versiones con Subversion
Control de versiones con Subversion
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)
 
Principios de estandares abiertos s13
Principios de estandares abiertos s13Principios de estandares abiertos s13
Principios de estandares abiertos s13
 
Principios de estandares abiertos s13
Principios de estandares abiertos s13Principios de estandares abiertos s13
Principios de estandares abiertos s13
 
Tp n°2 parte a
Tp n°2 parte aTp n°2 parte a
Tp n°2 parte a
 
Tutorial de CodeBlocks
Tutorial de CodeBlocksTutorial de CodeBlocks
Tutorial de CodeBlocks
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
Presentación SUbversion
Presentación SUbversionPresentación SUbversion
Presentación SUbversion
 
Presentacion Subversion
Presentacion SubversionPresentacion Subversion
Presentacion Subversion
 
Taller GitHub
Taller GitHubTaller GitHub
Taller GitHub
 
Laboratorio GXserver (cont)
Laboratorio GXserver (cont)Laboratorio GXserver (cont)
Laboratorio GXserver (cont)
 
Laboratorio GXserver
Laboratorio GXserverLaboratorio GXserver
Laboratorio GXserver
 

Último

8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptxrorellanoq
 
Cuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdfCuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdffredyflores58
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxcarlosEspaaGarcia
 
examen ExANI 2...........................
examen ExANI 2...........................examen ExANI 2...........................
examen ExANI 2...........................migueljosedelaolopez
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasDerlyValeriaRodrigue
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfWaldo Eber Melendez Garro
 
Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdffredyflores58
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfElybe Hernandez
 
Presentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptxPresentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptxInstitutoTeodoroKint
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheJuan Luis Menares
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxQualityAdviceService
 
Riesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoRiesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoMarianoSanchez70
 
Trabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfTrabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfLimbergleoMamaniIsit
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
Métodos numéricos y aplicaciones - Izar Landeta.pdf
Métodos numéricos y aplicaciones - Izar Landeta.pdfMétodos numéricos y aplicaciones - Izar Landeta.pdf
Métodos numéricos y aplicaciones - Izar Landeta.pdfJuvenalriv
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESJHONJAIROVENTURASAUC
 
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)miguelbenito23
 
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdfMirkaCBauer
 
RECONOCIMIENTO DE LIPIDOS Y ALGUNAS PROPIEDADES
RECONOCIMIENTO DE LIPIDOS Y ALGUNAS PROPIEDADESRECONOCIMIENTO DE LIPIDOS Y ALGUNAS PROPIEDADES
RECONOCIMIENTO DE LIPIDOS Y ALGUNAS PROPIEDADESyanicsapernia5g
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfFtimaMontserratZaraz
 

Último (20)

8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
 
Cuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdfCuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdf
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
examen ExANI 2...........................
examen ExANI 2...........................examen ExANI 2...........................
examen ExANI 2...........................
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemas
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdf
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdf
 
Presentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptxPresentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptx
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
Riesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoRiesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajo
 
Trabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfTrabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdf
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
Métodos numéricos y aplicaciones - Izar Landeta.pdf
Métodos numéricos y aplicaciones - Izar Landeta.pdfMétodos numéricos y aplicaciones - Izar Landeta.pdf
Métodos numéricos y aplicaciones - Izar Landeta.pdf
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
 
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
 
RECONOCIMIENTO DE LIPIDOS Y ALGUNAS PROPIEDADES
RECONOCIMIENTO DE LIPIDOS Y ALGUNAS PROPIEDADESRECONOCIMIENTO DE LIPIDOS Y ALGUNAS PROPIEDADES
RECONOCIMIENTO DE LIPIDOS Y ALGUNAS PROPIEDADES
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
 

Guia01 control versiones

  • 1. 1 1. DATOS ACADEMICOS: Nombre Asignatura : Ingeniería de software II Tema : Control de versiones Docente : Manuel Jesús Ibarra Cabrera 2. PROCEDIMENTAL - Realiza programas utilizando el control de versiones de software, tanto en plataforma Windows como en Linux. 3. SESION Nº 01 (Tiempo Estimado: 02 Horas) El trabajo consiste en crear un servidor “subversión” y manipularlo con un cliente TortoiseSVN 4. MARCO TEÓRICO Introducción - Alguna vez te ha sucedido que cuando estabas haciendo un programa (ejm. Multiplicar 2 matrices) lo tenias todo bien hecho y funcionando, y de repente quisiste modificar algo y ya no funcionó!... y quisiste volver a la versión anterior y por más que intentaste con Ctrol-Z no lo lograste! - Alguna vez te ha pasado que cuando estabas haciendo un programa, y tenias algo funcional, y tal vez modificaste algo y grabaste algo que no debías haberlo hecho y ya no puedes volver a la versión anterior. - Alguna vez te ha pasado que al hacer un programa entre varios compañeros, decidieron juntar los programas y resulta que las funciones (o procedimientos) de uno de ellos sobrescribió al del otro y finalmente no lograron juntarlo!. Ante los problemas anteriores, hoy en día se maneja un tema muy importante como es el del control de versiones de los programas (en general de cualquier documento). Control de versiones Definición Un sistema de control de versiones (o sistema de control de revisiones) es una combinación de tecnologías y prácticas para seguir y controlar los cambios realizados en los ficheros del proyecto, en particular en el código fuente, en la documentación y en las páginas web. Porque usarlo? La razón por la cual el control de versiones es universal es porque ayuda virtualmente en todos los aspectos al dirigir un proyecto: comunicación entre los desarrolladores, manejo de los lanzamientos, administración de fallos, estabilidad entre el código y los esfuerzos de desarrollo experimental y atribución y autorización en los cambios de los desarrolladores. El sistema de control de versiones permite a una fuerza coordinadora central abarcar todas estas áreas. El núcleo del sistema es la gestión de cambios: identificar cada cambio a los ficheros del proyecto, UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURÍMAC CARRERA PROFESIONAL DE INGENIERÍA INFORMÁTICA Y SISTEMAS
  • 2. 2 anotar cada cambio con meta-data como la fecha y el autor de la modificación y disponer esta información para quien sea y como sea. Es un mecanismo de comunicación donde el cambio es la unidad básica de información. Ejemplos de Herramientas Ejemplos de este tipo de herramientas son entre otros - CVS - Subversion - SourceSafe - ClearCase - Darcs - Bazaar - Plastic SCM - Git, - Mercurial - Perforce 5. TRABAJO PRÁCTICO Ejemplo 1: Subversion I) Instalar TortoiseSVN Solicita el instalador e instálalo II) Crear el repositorio “SERVER” a. Crear una carpeta “miweb” en el escritorio b. Hacemos clic derecho sobre ella y buscamos la opción [Create repository here], que se encuentra dentro del ítem [TortoiseSVN]. La herramienta nos mostrará una ventana donde tendremos que elegir el tipo de repositorio.
  • 4. 4 III) Hacer el primer Checkout (CLIENTE) Ahora debemos crear una carpeta para trabajar en nuestra copia privada y hacer el primer checkout (bajar del server hacia nuestra PC Cliente) a) Crear una carpeta “D:webCamila”, ingresar dentro de esta carpeta Click derecho en el vacío y luego “ChekOut”, luego completar el siguiente cuadro: Luego OK IV)Hacer algún cambio Ahora bien, crearemos un archivo nuevo de texto en la misma carpeta del punto anterior. Este archivo será luego nuestro primer commit. Crea un archivo “index.html” en la carpeta local “D:webCamila” (escribir un hola mundo en HTML) Esto puede ser una dirección en internet (SERVER) Esto es mi carpeta local de trabajo
  • 5. 5 V) Hacer el primer commit Ahora subiremos el archivo creado en el punto anterior. Si prestamos atención, el icono de la carpeta con nuestra copia privada ahora tiene un icono de una tilde. Esto quiere decir que hay cambios en esa carpeta, listos para ser sincronizados en el repositorio. Hacemos clic derecho en la carpeta (d:webCamila) y seleccionamos [SVN Commit]. TortoiseSVN mostrará una ventana con información que tendremos que completar sobre la versión que estamos subiendo. En la mitad inferior de esta ventana veremos los archivos que fueron modificados (en este caso, el archivo html) y sus propiedades. Seleccionamos el archivo y continuamos. TortoiseSVN aplicará los cambios en el repositorio para completar la flamante versión 1 del proyecto Luego OK
  • 6. 6 Modifica el archivo index.html, agrega más archivos, etc., y juega todo lo que quieras… VI)Consideraciones a tener en cuenta Veamos en qué consisten: 1) SVN CHECKOUT Descarga una copia privada de la última versión del proyecto, es decir, una working copy, a nuestra máquina. Es lo rimero que tenemos que hacer al iniciar una sesión de trabajo con SVN. 2) SVN UPDATE Como su nombre indica, se usa para actualizar nuestra working copy con los últimos cambios hechos por nuestros compañeros. Este comando debe ejecutarse a menudo para tener siempre una copia fresca del proyecto. 3) SVN COMMIT Envía al repositorio los cambios que hicimos en nuestra copia privada. De más está decir que es una buena práctica, en cada commit, comentar los cambios que hicimos en la versión que estamos enviando. De esta manera, nuestros compañeros de equipo tendrán una buena ayuda sobre qué es lo nuevo en la última versión que están descargando (los comentarios se pueden agregar usando el mismo comando commit o, como veremos más adelante, completando un campo en una ventana). Estos comandos tienen sus semejantes en la herramienta visual, TortoiseSVN, por lo que haciendo un par de clics evitaremos tipearlos en una ventana de terminal. Sin embargo, lo importante en este punto es que entiendan el proceso de trabajar con Subversion, que en su concepción más simple consiste en tres pasos: 1. checkout, 2. update y 3. commit. Con el tiempo aprenderemos más comandos útiles para trabajar con el sistema, como svn diff, que permite buscar diferencias entre los archivos que estamos subiendo. 6. TRABAJO DE INVESTIGACIÓN 1) Averigua en cómo usar el comando DIFF 2) Crea una página web de tu grupo, El jefe de proyecto debe decir que partes debe hacer cada uno, por ejemplo: Página principal, integrantes, proyectos, buscadores ,contactos, etc. Cada uno debe trabajar localmente y luego juntarlo en el servidor. 3) El mismo ejercicio anterior pero utilizando http://xp-dev.com Ayuda: De aquí en adelante, el proceso de trabajo será similar: hacer un checkout de la última versión en el repositorio, realizar cambios en nuestra copia privada, luego hacer un update y, por último, un commit. En la práctica, y con grupos de trabajo, el proceso no es tan sencillo, ya que si hay inconsistencias entre los archivos, tendremos que combinarlos (lo que en la jerga se conoce como merge), lo cual a veces puede resultar en más de un dolor de cabeza. Pero, claro, todo esto se aprende durante la marcha.
  • 7. 7 a) Ir a http://xp-dev.com/ b) Crear una cuenta c) Crear un nuevo proyecto
  • 8. 8 d) Crear un repositorio e) Ahora investiga como enviar los archivos al server. Éxitos 4) Aquí no queda todo, hay situaciones en las que hay conflictos en la actualización, conflicto de versiones, Trunk, Branches, etc. Deberás averiguar en qué consisten y como resolverlos.