el zen de git - psicobyte · el zen de git un taller de introducción al uso de git del humilde...

49

Upload: others

Post on 20-Apr-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos
Page 2: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

El Zen de git

Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR.

Page 3: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

El problema

Al principio, sin sistemas de control de versiones, todo era caos, desorden,

desconcierto y lágrimas.

Page 4: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

El problema

Page 5: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

El Nirvana (¿Qué queremos?)

Guardar una copia de todos los estados anteriores, con todas las modificaciones hechas por todos los participantes, con comentarios y notas asociadas a cada cambio, y que permita gestionar conflictos entre versiones, crear diferentes ramas de proyecto y gestionarlas.

Page 6: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

El Nirvana (¿Qué queremos?)

Y que sea sencillo

Page 7: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Koans de git (¿Qué es git?)

git es un Sistema de Control de Versiones

(aunque hay otros: CVS, Subversion, Bazaar...)

Page 8: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Koans de git (¿Qué es git?)

git es distribuido

(aunque se suele usar como si fuera centralizado)

Page 9: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Koans de git (¿Qué es git?)

git es de línea de comandos

(aunque hay clientes gráficos: Tortoise, gitg, Giggle...)

Page 10: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Koans de git (¿Qué es git?)

git se creó en y para Linux

(aunque se usa en y para todas las plataformas)

Page 11: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Los tres cuencos

Page 12: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Comenzar el Tao (Instalando git)

Debian: # aptitude install git

Archlinux: # pacman -S git

Windows: http://windows.github.com Clic aceptar...

Mac: http://mac.github.com Clic aceptar...

Android: Playstore -> Buscar "git" -> Instalar -> Aceptar permisos

Page 13: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

La vía interior (Configuración)

git config --global user.name "Psicobyte Sensei"

git config --global user.email "[email protected]"

git config --global color.ui true

Page 14: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

La vía exterior (Claves ssh)

ssh-keygen

ssh-copy-id Dirección-Del-Servidor

Page 15: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

git como arte marcial

(O el “Dar cera – Pulir cera” de git)

Page 16: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

git como arte marcial

Inicia un repositorio

git init

Page 17: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

git como arte marcial

¡Ayuda!

git --help COMANDO

git --help init

Page 18: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

git como arte marcial

Añade un origen remoto:

git remote add origin URL

Page 19: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

git como arte marcial

O, directamente, clona un repositorio existente:

git clone URL

git clone [email protected]:psicobyte/PiMondrian.git

Page 20: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

git como arte marcial

Añade ficheros al índice

git add Nombre-del-Fichero

git add Nombre-del-Directorio

git add .

Page 21: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

git como arte marcial

Pasa del índice al HEAD:

git commit

git commit -m “Comentario al commit”

Page 22: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

¿Recuerdas los tres cuencos?

Page 23: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

git como arte marcial

Borra:

git rm Nombre-del-Fichero

git rm --cached Nombre-del-Fichero

Page 24: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

git como arte marcial

Mueve (o renombra):

git mv Nombre-del-Fichero Nuevo-Nombre

Page 25: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

git como arte marcial

¿Ya he hecho commit? ¿En qué rama? ¿Me falta un add? ¿Qué está pasando?

git status

Page 26: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Más allá del horizonte

(sincronizando con repositorios remotos)

Page 27: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Más allá del horizonte

Envía cambios al servidor remoto

git push origin master

git push origin Nombre-De-La-Rama

git push

Page 28: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

(recordamos)

Añade un origen remoto:

git remote add origin URL

O, directamente, clona un repositorio existente:

git clone URL

Page 29: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Más allá del horizonte

Recibe cambios desde el servidor remoto

git pull origin master

git pull origin Nombre-De-La-Rama

git pull

Page 30: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Más allá del horizonte

¡Conflicto entre servidores!

¿Qué hacemos?

git informa detalladamente del problema y debemos arreglarlo nosotros mismos y hacer un commit y un push.

Page 31: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

La vía óctuple

(Usando ramas)

Page 32: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

La vía óctuple

Crea una rama:

git branch Nombre-De-La-Rama

Page 33: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

La vía óctuple

Nos movemos a una rama:

git checkout Nombre-De-La-Rama

Nos movemos a la rama principal:

git checkout master

Page 34: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

La vía óctuple

Crea una rama y nos movemos a ella:

git checkout -b Nombre-De-La-Rama

Page 35: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

La vía óctuple

¡Por el gran dragón! ¿En qué rama estoy?

git branch

Page 36: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

La vía óctuple

Borra una rama:

git branch -d Nombre-De-La-Rama

Page 37: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

La vía óctuple

Mezcla una rama con aquella en la que estés:

git merge Nombre-De-La-Otra-Rama

Page 38: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

La vía óctuple

¡Conflicto entre ramas!

¿Qué hacemos?

git informa detalladamente del problema y debemos arreglarlo nosotros mismos y hacer un commit.

Page 39: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Github.com: El templo shaolin de git

Page 40: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Abrir cuenta

Page 41: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Iniciar repo

Page 42: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Iniciar repo

Page 43: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Social: Ojos, estrellas, tenedores(y pull requests)

Page 44: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Ponlo fácil: README, LICENSE...

Page 45: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Abrir y cerrar issues

Page 46: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Abrir (y cerrar) issues

Page 47: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Desde el commit

Commit -m “Archivo modificado close #7”

● closes #7● closed #7● fix #7● fixes #7● fixed #7● resolve #7● resolves #7● resolved #7

Page 48: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Enlaces y referencias

Git: http://git-scm.com/

GitHub: http://github.com/

TryGit: http://try.github.io/

mozillascience.github.io/code-research-object/

OSL de la UGR: http://osl.ugr.es/

Page 49: El Zen de git - Psicobyte · El Zen de git Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR. ... debemos

Muchas gracias

http://www.psicobyte.com

[email protected]

@psicobyte_

Esta presentación se puede descargar de:

http://www.psicobyte.com/info/descargas