Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

24
AGit Ado, pero no revuelto Una introducción al control de fuentes usando Git JJ Merelo Oficina de Software Libre http://osl.ugr.es

description

JJ Merelo (@jjmerelo) nos cuenta las bondades de GIT para el desarrollo colaborativo de software y ¡libros! También explica las grandes features que tiene GITHUB

Transcript of Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Page 1: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

AGitAdo, pero no revuelto

Una introducción al control de fuentes usando Git

JJ MereloOficina de Software Libre

http://osl.ugr.es

Page 2: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 2

Sistema para gestionar trabajo en grupo

Page 3: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 3

+ Sistema para despliegue de aplicaciones

Page 4: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 4

Basado en línea de órdenes

Page 5: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 5

Pero con clientes molones para quien no le guste

Page 6: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 6

Alta en GitHub

La red social para programadores:

http://github.com

Page 7: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 7

Descargar clientes

● Sudo apt-get install git● http://windows.github.com● http://mac.github.com● http://eclipse.github.com● http://mobile.github.com

Page 8: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 8

Git es un sistema de control de fuentes distribuido

Page 9: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 9

Creando un repositorio

Repo == proyecto

Page 10: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 10

Clonando a Dolly

git clone [email protected]:JJ/OpenTea.git

Page 11: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 11

Añadiendo nuevos ficheros

git add nuevofichero.txt

Page 12: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 12

Sin compromisos

git commit -a -m “Esto es un cambio”

Page 13: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 13

¿Y tú de quién eres?

Generar pareja de claves y subirla

https://help.github.com/articles/generating-ssh-keys

Page 14: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 14

Empujando a los cambios

Git push origin master

Page 15: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 15

Antes de la existencia de GitHub

mkdir repo; cd repo; git init; touch README; git add README; git commit -m “1st”

[Crear repo en GitHub]git remote add origin

https://github.com/username/myrepo.git

Page 16: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 16

Mientras puede haber habido algún cambio

git pull origin master

Page 17: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 17

¡Hay un conflicto!

Aparece en el texto y se corrige + commit + push

Page 18: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 18

Hay que ponerse a trabajar

Los “issues” de GitHub están integrados con el git

Page 19: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 19

Hitos y asuntos

Los issues o tickets se organizan en hitos (milestones)

Page 20: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 20

git commit -m “references o fixes o closes #xxx”

No se cierra hasta que no se acaba

Page 21: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 21

Hay muchas más cosas

● Fetch● Merge● Rebase● checkout

Page 22: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 22

Creando un fork

Y, además, añadiendo repositorios upstream (y fusionando con el original)

Page 23: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 23

Integración continua

Github está integrado con Travis y permite hacer integración continua

Page 24: Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada

Git @canubeproject 24

Eso es todo

¿Alguna pregunta?