Download - Git 01-introduccion
![Page 1: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/1.jpg)
http://cursosdedesarrollo.com/
Curso de GitUnidad Didáctica 01: ¿Qué es Git?
![Page 2: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/2.jpg)
http://cursosdedesarrollo.com/
Índice de contenidos• Introducción
• Instalación
• Gestión de un repositorio
• Colaboración
• GUI’s
• Github
• Gitlab
• Conclusiones
![Page 5: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/5.jpg)
http://cursosdedesarrollo.com/
Introducción
Git es un sistema de control de versiones distribuido de carpetas y ficheros
![Page 6: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/6.jpg)
http://cursosdedesarrollo.com/
Introducción
¿En qué consiste un sistema de versiones?
![Page 7: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/7.jpg)
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
![Page 10: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/10.jpg)
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
![Page 11: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/11.jpg)
http://cursosdedesarrollo.com/
Introducción
Se establecen distintas versiones del proyecto en total
![Page 12: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/12.jpg)
http://cursosdedesarrollo.com/
Introducción
En cada versión del repositorio se pueden ver los cambios provocados en cada fichero o carpeta
![Page 13: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/13.jpg)
http://cursosdedesarrollo.com/
Introducción
Estos cambios son las diferencias entre una versión y otra
![Page 15: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/15.jpg)
http://cursosdedesarrollo.com/
Introducción
Estos cambios suelen llevar asociado un determinado mensaje que contextualiza el cambio,
arreglo de un fallo, nueva funcionalidad, etc…
![Page 16: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/16.jpg)
http://cursosdedesarrollo.com/
Introducción
Hasta aquí sería parecido a otros sistemas de versiones como SVN o CVS
![Page 17: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/17.jpg)
http://cursosdedesarrollo.com/
Introducción
Entonces, ¿Porqué usar Git?
![Page 18: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/18.jpg)
http://cursosdedesarrollo.com/
Introducción
Ventajas que tiene Git sobre otros sistemas de control de versiones
![Page 21: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/21.jpg)
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
![Page 24: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/24.jpg)
http://cursosdedesarrollo.com/
Introducción
Se pueden fusionar ramas para hacer una convergencia de código
![Page 27: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/27.jpg)
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
![Page 30: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/30.jpg)
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
![Page 33: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/33.jpg)
http://cursosdedesarrollo.com/
Introducción
Permite que otras personas puedan llegar a querer hacer commits en nuestro repositorio
![Page 34: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/34.jpg)
http://cursosdedesarrollo.com/
Instalación
Sitio Oficial
https://git-scm.com/
![Page 35: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/35.jpg)
http://cursosdedesarrollo.com/
Instalación
Descarga
https://git-scm.com/downloads
![Page 36: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/36.jpg)
http://cursosdedesarrollo.com/
Instalación
Descarga
https://git-scm.com/downloads
![Page 37: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/37.jpg)
http://cursosdedesarrollo.com/
Gestión de un Repositorio
Sobre una carpeta en la que queremos gestionar un proyecto ejecutamos:
git init
![Page 38: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/38.jpg)
http://cursosdedesarrollo.com/
Gestión de un Repositorio
Con esto creamos un repositorio en esa carpeta
![Page 39: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/39.jpg)
http://cursosdedesarrollo.com/
Gestión de un Repositorio
Si queremos descargarnos un repositorio público, debemos clonarlo:
git clone (URL_REPO) (Directorio destino)
![Page 40: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/40.jpg)
http://cursosdedesarrollo.com/
Gestión de un Repositorio
En ambos casos podemos gestionar ya los ficheros que hay en ese repositorio
![Page 41: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/41.jpg)
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>
![Page 42: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/42.jpg)
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>
![Page 43: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/43.jpg)
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
![Page 44: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/44.jpg)
http://cursosdedesarrollo.com/
Gestión de un Repositorio
Para crear un nuevo commit (versión estable):
git commit -m ‘datos del cambio’
![Page 45: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/45.jpg)
http://cursosdedesarrollo.com/
Gestión de un Repositorio
Para ver los estado en un repositorio:
git status
![Page 46: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/46.jpg)
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
![Page 47: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/47.jpg)
http://cursosdedesarrollo.com/
Gestión de un Repositorio
También podemos ver las distintas versiones del repositorio:
git log
![Page 48: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/48.jpg)
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>
![Page 49: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/49.jpg)
http://cursosdedesarrollo.com/
Gestión de un Repositorio
Con revert podemos volver atrás una serie de cambios en el proyecto:
git revert <commit>
![Page 50: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/50.jpg)
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
![Page 51: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/51.jpg)
http://cursosdedesarrollo.com/
Colaboración
Los dos cambios principales pueden ser:
Recibir cambios
Mandar Cambios
![Page 52: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/52.jpg)
http://cursosdedesarrollo.com/
Colaboración
Mandar cambios se llama push
![Page 53: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/53.jpg)
http://cursosdedesarrollo.com/
Colaboración
Recibir cambios se llama pull
![Page 54: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/54.jpg)
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>
![Page 55: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/55.jpg)
http://cursosdedesarrollo.com/
Colaboración
Después de haber hecha esta conexión ya podemos hacer un:
git pull <remote>
para recibir cambios
![Page 56: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/56.jpg)
http://cursosdedesarrollo.com/
Colaboración
o mandar cambios:
git push <remote>
para recibir cambios
![Page 57: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/57.jpg)
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
![Page 58: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/58.jpg)
http://cursosdedesarrollo.com/
Colaboración
Crear una nueva rama
git branch <rama>
![Page 59: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/59.jpg)
http://cursosdedesarrollo.com/
Colaboración
Para elegir la rama con la que queremos trabajar es necesario usar checkout:
git checkout <existing-branch>
![Page 60: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/60.jpg)
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
![Page 61: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/61.jpg)
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
![Page 62: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/62.jpg)
http://cursosdedesarrollo.com/
GUI’s
GitHub Desktop
https://desktop.github.com/
![Page 63: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/63.jpg)
http://cursosdedesarrollo.com/
GUI’s
Sourcetree
https://www.sourcetreeapp.com/
![Page 64: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/64.jpg)
http://cursosdedesarrollo.com/
GUI’s
GitKraken
https://www.gitkraken.com/
![Page 65: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/65.jpg)
http://cursosdedesarrollo.com/
GUI’s
La mayor parte de los IDE’s actuales disponen tanto de integración con Git como de Github
![Page 66: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/66.jpg)
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/
![Page 67: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/67.jpg)
http://cursosdedesarrollo.com/
Github
Ejemplo de Repositorios abiertos:
https://github.com/pepesan
![Page 68: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/68.jpg)
http://cursosdedesarrollo.com/
GitLab
Gitlab es la manera de disponer de tu propio Github instalado en tus propios servidores:
https://about.gitlab.com/
![Page 69: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/69.jpg)
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
![Page 72: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/72.jpg)
http://cursosdedesarrollo.com/
ConclusionesHemos visto cuales son las funciones principales de Git como sistema de control de
versiones y sus herramientas más
conocidas
![Page 73: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/73.jpg)
http://cursosdedesarrollo.com/
Datos de Contacto
http://www.cursosdedesarrollo.com [email protected]
![Page 74: Git 01-introduccion](https://reader030.vdocuments.pub/reader030/viewer/2022020203/5899b5b21a28aba11e8b5b3b/html5/thumbnails/74.jpg)
http://cursosdedesarrollo.com/
LicenciaDavid Vaquero Santiago
Esta obra está bajo una Licencia Creative Commons
Atribución-NoComercial-CompartirIgual 4.0 Internacional