Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Git 01-introduccion

2,114 views

Published on

Presentación inicial del curso de Git

Published in: Internet
  • Be the first to comment

Git 01-introduccion

  1. 1. http://cursosdedesarrollo.com/ Curso de Git Unidad Didáctica 01: ¿Qué es Git?
  2. 2. http://cursosdedesarrollo.com/ Índice de contenidos • Introducción • Instalación • Gestión de un repositorio • Colaboración • GUI’s • Github • Gitlab • Conclusiones
  3. 3. http://cursosdedesarrollo.com/ Introducción ¿Qué es Git?
  4. 4. http://cursosdedesarrollo.com/ Introducción
  5. 5. http://cursosdedesarrollo.com/ Introducción Git es un sistema de control de versiones distribuido de carpetas y ficheros
  6. 6. http://cursosdedesarrollo.com/ Introducción ¿En qué consiste un sistema de versiones?
  7. 7. http://cursosdedesarrollo.com/ Introducción Maneja un histórico de los ficheros y carpetas que pertenecen a un proyecto pudiendo recuperar el estado de un proyecto dado
  8. 8. http://cursosdedesarrollo.com/ Introducción
  9. 9. http://cursosdedesarrollo.com/ Introducción ¿Cómo se crea un estado?
  10. 10. http://cursosdedesarrollo.com/ Introducción Se crea un estado nuevo cada vez que se hace un commit, es decir, se guardan los cambios en un repositorio
  11. 11. http://cursosdedesarrollo.com/ Introducción Se establecen distintas versiones del proyecto en total
  12. 12. http://cursosdedesarrollo.com/ Introducción En cada versión del repositorio se pueden ver los cambios provocados en cada fichero o carpeta
  13. 13. http://cursosdedesarrollo.com/ Introducción Estos cambios son las diferencias entre una versión y otra
  14. 14. http://cursosdedesarrollo.com/ Introducción
  15. 15. http://cursosdedesarrollo.com/ Introducción Estos cambios suelen llevar asociado un determinado mensaje que contextualiza el cambio, arreglo de un fallo, nueva funcionalidad, etc…
  16. 16. http://cursosdedesarrollo.com/ Introducción Hasta aquí sería parecido a otros sistemas de versiones como SVN o CVS
  17. 17. http://cursosdedesarrollo.com/ Introducción Entonces, ¿Porqué usar Git?
  18. 18. http://cursosdedesarrollo.com/ Introducción Ventajas que tiene Git sobre otros sistemas de control de versiones
  19. 19. http://cursosdedesarrollo.com/ Introducción Ramificación
  20. 20. http://cursosdedesarrollo.com/ Introducción
  21. 21. http://cursosdedesarrollo.com/ Introducción Permite crear distintas ramas para el código a través del cual podemos hacer el seguimiento del desarrollo de un proyecto
  22. 22. http://cursosdedesarrollo.com/ Introducción Convergencia
  23. 23. http://cursosdedesarrollo.com/ Introducción
  24. 24. http://cursosdedesarrollo.com/ Introducción Se pueden fusionar ramas para hacer una convergencia de código
  25. 25. http://cursosdedesarrollo.com/ Introducción Distribución
  26. 26. http://cursosdedesarrollo.com/ Introducción
  27. 27. http://cursosdedesarrollo.com/ Introducción Cada persona tiene la posibilidad de duplicar el repositorio y tener un repositorio local para que cada repositorio sea independiente y los cambios no afecten a los demás necesariamente
  28. 28. http://cursosdedesarrollo.com/ Introducción Adaptabilidad
  29. 29. http://cursosdedesarrollo.com/ Introducción
  30. 30. http://cursosdedesarrollo.com/ Introducción Según las necesidades de cada proyecto la estructura de versiones se puede ajustar a cada equipo y cada proyecto
  31. 31. http://cursosdedesarrollo.com/ Introducción Pull Request
  32. 32. http://cursosdedesarrollo.com/ Introducción
  33. 33. http://cursosdedesarrollo.com/ Introducción Permite que otras personas puedan llegar a querer hacer commits en nuestro repositorio
  34. 34. http://cursosdedesarrollo.com/ Instalación Sitio Oficial https://git-scm.com/
  35. 35. http://cursosdedesarrollo.com/ Instalación Descarga https://git-scm.com/downloads
  36. 36. http://cursosdedesarrollo.com/ Instalación Descarga https://git-scm.com/downloads
  37. 37. http://cursosdedesarrollo.com/ Gestión de un Repositorio Sobre una carpeta en la que queremos gestionar un proyecto ejecutamos: git init
  38. 38. http://cursosdedesarrollo.com/ Gestión de un Repositorio Con esto creamos un repositorio en esa carpeta
  39. 39. http://cursosdedesarrollo.com/ Gestión de un Repositorio Si queremos descargarnos un repositorio público, debemos clonarlo: git clone (URL_REPO) (Directorio destino)
  40. 40. http://cursosdedesarrollo.com/ Gestión de un Repositorio En ambos casos podemos gestionar ya los ficheros que hay en ese repositorio
  41. 41. http://cursosdedesarrollo.com/ Gestión de un Repositorio Siempre está bien configurar los datos de nuestro usuario del repositorio, sobre todo de cara a luego compartir dicho repositorio git config --global user.name <name> git config --global user.email <email>
  42. 42. http://cursosdedesarrollo.com/ Gestión de un Repositorio Para añadir un archivo o conjunto de archivos al repositorio ejecutamos: git add <file> git add <directory>
  43. 43. http://cursosdedesarrollo.com/ Gestión de un Repositorio Al añadir los archivos es como decirle al repositorio que queremos gestionar los archivos con dicho repositorio, pero si queremos guardar esos cambios como una nueva versión es necesario crear un nuevo commit
  44. 44. http://cursosdedesarrollo.com/ Gestión de un Repositorio Para crear un nuevo commit (versión estable): git commit -m ‘datos del cambio’
  45. 45. http://cursosdedesarrollo.com/ Gestión de un Repositorio Para ver los estado en un repositorio: git status
  46. 46. http://cursosdedesarrollo.com/ Gestión de un Repositorio Es posible que no queramos que algunos ficheros sean gestionados por el repositorio para ello podemos gestionar el fichero .gitignore
  47. 47. http://cursosdedesarrollo.com/ Gestión de un Repositorio También podemos ver las distintas versiones del repositorio: git log
  48. 48. http://cursosdedesarrollo.com/ Gestión de un Repositorio Con checkout podemos volver el proyecto a una determinada versión de commit: git checkout <commit> git checkout <commit> <file>
  49. 49. http://cursosdedesarrollo.com/ Gestión de un Repositorio Con revert podemos volver atrás una serie de cambios en el proyecto: git revert <commit>
  50. 50. http://cursosdedesarrollo.com/ Colaboración De cara a poder colaborar en proyectos lo más normal es que alguien tenga un repositorio local y quiera compartir cambios con otros repositorios
  51. 51. http://cursosdedesarrollo.com/ Colaboración Los dos cambios principales pueden ser: Recibir cambios Mandar Cambios
  52. 52. http://cursosdedesarrollo.com/ Colaboración Mandar cambios se llama push
  53. 53. http://cursosdedesarrollo.com/ Colaboración Recibir cambios se llama pull
  54. 54. http://cursosdedesarrollo.com/ Colaboración Para que estos cambios puedan producirse en cualquier dirección es necesario que se disponga de un enlace a un repositorio remoto: git remote add <name> <url>
  55. 55. http://cursosdedesarrollo.com/ Colaboración Después de haber hecha esta conexión ya podemos hacer un: git pull <remote> para recibir cambios
  56. 56. http://cursosdedesarrollo.com/ Colaboración o mandar cambios: git push <remote> para recibir cambios
  57. 57. http://cursosdedesarrollo.com/ Colaboración Cuando empezamos a trabajar con otras personas es cuando normalmente empezamos a tener la necesidad clara de manejas distintas ramas del proyecto
  58. 58. http://cursosdedesarrollo.com/ Colaboración Crear una nueva rama git branch <rama>
  59. 59. http://cursosdedesarrollo.com/ Colaboración Para elegir la rama con la que queremos trabajar es necesario usar checkout: git checkout <existing-branch>
  60. 60. http://cursosdedesarrollo.com/ Colaboración La rama principal siempre se llama Master El punto actual de desarrollo se llama Head Por lo que los cambios que hagamos normalmente serán en Master/Head
  61. 61. http://cursosdedesarrollo.com/ GUI’s Como esta gestión por consola suele ser algo tediosa es preferible disponer de alguna herramienta gráfica que ayude a esta gestión https://git-scm.com/downloads/guis
  62. 62. http://cursosdedesarrollo.com/ GUI’s GitHub Desktop https://desktop.github.com/
  63. 63. http://cursosdedesarrollo.com/ GUI’s Sourcetree https://www.sourcetreeapp.com/
  64. 64. http://cursosdedesarrollo.com/ GUI’s GitKraken https://www.gitkraken.com/
  65. 65. http://cursosdedesarrollo.com/ GUI’s La mayor parte de los IDE’s actuales disponen tanto de integración con Git como de Github
  66. 66. http://cursosdedesarrollo.com/ Github Github es un servicio disponible a través de la web en el que se pueden compartir repositorios Git con otras personas sin la necesidad de disponer de un ordenador encendido 24/7 https://github.com/
  67. 67. http://cursosdedesarrollo.com/ Github Ejemplo de Repositorios abiertos: https://github.com/pepesan
  68. 68. http://cursosdedesarrollo.com/ GitLab Gitlab es la manera de disponer de tu propio Github instalado en tus propios servidores: https://about.gitlab.com/
  69. 69. http://cursosdedesarrollo.com/ GitLab La ventaja principal sobre GitHub es que tienes el control de los servidores y todo el contenido puede estar alojado dentro de tu empresa y no en los servidores de Github
  70. 70. http://cursosdedesarrollo.com/ Demo Show time
  71. 71. http://cursosdedesarrollo.com/ ¿Preguntas? ¿Alguna Pregunta?
  72. 72. http://cursosdedesarrollo.com/ Conclusiones Hemos visto cuales son las funciones principales de Git como sistema de control de versiones y sus herramientas más conocidas
  73. 73. http://cursosdedesarrollo.com/ Datos de Contacto http://www.cursosdedesarrollo.com david@cursosdedesarrollo.com
  74. 74. http://cursosdedesarrollo.com/ Licencia David Vaquero Santiago Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial- CompartirIgual 4.0 Internacional

×