Git: control de versiones

download Git: control de versiones

If you can't read please download the document

Transcript of Git: control de versiones

  • 1. GITControl de versiones

2. 1. Qu es el control deversiones? 3. Qu es el control de versiones? Cuando escribimos un programa, nuestro cdigo vaevolucionando desde la nada hacia la solucin final En el camino pueden transcurrir das, semanas, meses,... Es habitual que, durante ese proceso, queramos deshacerpasos ya realizados Podra suceder que hay un error en el cdigo generado enFebrero, y queramos volver a la versin de Enero Tambin es til cuando el equipo de desarrollo lo integranms de una persona Sin control de versiones, es muy difcil fundir el cdigoescrito por dos o ms programadores Esta tarea, un software de control de versiones la realizasin pestaear 4. Herramientas profesionales de control de versiones En el mercado existen muchsimas herramientas decontrol de versiones: GIT Subversion (SVN) CVS ClearCase SourceSafe/SourceGear Team Foundation Server Mercurial 5. 2. GIT: caractersticas 6. GIT: caractersticas Distribuido Gratuito Opensource Multiplataforma: linux, windows, mac,... Se integra con eclipse: egit EGit es la versin grfica de git, que es de consola 7. 3. Instalacin de Git en eclipse 8. Instalacin de EGit en eclipse Desde eclipse/help/install new software: 9. Comprobar instalacin OK Para comprobar que todo ha ido bien, crea un nuevoproyecto en eclipse En el explorador de proyectos, pulsa botn derecho sobreel nodo del proyecto, y deber aparecerte una nuevaentrada llamada Team 10. 4. Ficheros quequeremos ignorar 11. .gitignore En un proyecto de desarrollo de software es habitualdescartar ciertos ficheros del control de versiones Lo importante es nuestro cdigo Todo aquello que no pertenezca al cdigo, podemos ydebemos eliminarlo del control de versiones Los ficheros compilados ... Para ello, generamos un fichero que llamamos .gitignoredentro de nuestro proyecto y lo completamos con losficheros y directorios a ignorar 12. Ejemplo de .gitignore ste es el aspecto de mi fichero .gitignore: 13. 5. Poner proyecto bajo control de versiones 14. Creamos nuestro proyecto Creamos nuestro proyecto Java como lo hemos hechosiempre Y le aadimos un primer fichero, por ejemplo Main.javacon un simple Hola Mundo: 15. Poner proyecto en GIT El primer paso es poner nuestro proyecto bajo control deversiones Lo ideal es hacer esto al principio, justo en el momento denacer nuestro proyecto An as, podemos poner un proyecto ya avanzado bajocontrol de versiones En la siguiente secuencia de imgenes se muestra cmoincorporar nuestro proyecto al control de versiones (pg.siguiente): 16. Poner proyecto en GIT: pasos 17. Nuestro proyecto est en GIT Fjate que en el explorador de proyectos, aparece unicono ? junto a cada componente 18. Primer commit En Window/Show Vew/Other, seleccionamosGit/Git Staging Seleccionamos todos los ficheros que figuranen Unstaged Changes y los arrastramos aStaged Changes Escribimos un mensaje con el querecordaremos el paso que hemos dado, porejemplo, Primer commit 19. Project explorer: cambian losiconos Como vemos, ahora que ya hemos hecho un commit, losiconos cambian, pasan de un ? a el clsico smbolo debase de datos As indica que estos ficheros y todos sus cambios estnregistrados por GITAntes del commit Despus del commit 20. 6. Hacer cambios y subirlos a GIT 21. Cambiamos Hola mundo porAdios mundo En nuestro fichero Main.java, cambiamos el saludo Holamundo por Adios mundo Graba los cambios En el explorador de proyectos, aparece un icono > juntoa los elementos que se han modificado: 22. Cambiamos Hola mundo porAdios mundo En la ventana Git Staging aparece el fichero Main.javacomo que tiene cambios Lo arrastramos a Staged Changes Aadimos un mensaje alusivo Commit 23. 7. Mostrar los cambios 24. Por qu es importante? En ocasiones puede ser importante mostrar los cambiosque han tenido lugar en un fichero qu lneas se han aadido qu lneas se han eliminado qu cambios se han introducido en una lnea qu ficheros se han aadido qu ficheros se han eliminado quin hizo esos cambios ... 25. Mostrar historial de versiones Sobre el nodo del proyecto/Team/Show in History:Aqu estn las 2 versionesque tenemos de momento, una por cada commit Ficheros modificados, aadidos, eliminados,... en esa versinMensaje que pusimos a la hora de subir (commit)nuestros cambios 26. 8. Deshacer cambios 27. Por qu es importante? Supn que has estado modificando tu proyecto durantevarias horas, pero llegas a la conclusin de que estoscambios no te interesan Has modificado varios ficheros Has aadido nuevos Has eliminado otros Es muy difcil recordar exactamente qu cambios hashecho para poder revertir la situacin manualmente La opcin de CTRL-Z se queda corta, porque son muchoslos cambios En Git podemos hacer un Hard reset, que vuelca sobrenuestra copia local lo que hay en GIT, es decir, la ltimaversin del cdigo anterior a nuestros cambios 28. Hard reset Botn derecho sobre el nodo del proyecto/ Team/ Reset: Listo, nos hemos descargado a nuestra copia local lo quetiene GIT De esta manera descartamosnuestros cambios 29. 9. Mostrar diferencias 30. Por qu es importante? Supongamos que llevas varias horas (das, semanas,...)trabajando en el proyecto Has incorporado nuevas funcionalidades que van bien Sin embargo, hay un fichero que da problemas en estanueva versin Qu he tocado aqu para que ahora falle? 31. Mostrar diferencias con copia local En la ventana del historial de versiones, seleccionamos elfichero que queremos comparar, botn derecho, compararcon copia de trabajo (o local) 32. Mostrar diferencias con copia local Nos abre una nueva ventana con las lneas que se hanmodificado, y dentro de sta, exactamente qumodificaciones ha sufrido: 33. Mostrar diferencias con versinanterior Igual manera podra interesarnos qu cambios han habidoen un fichero en la ltima versin con respecto de laanterior En el historial de versiones, en lugar de comparar concopia de trabajo, comparar con Ancestor: