24
Uso de Git: un caso real Pablo González Doval @dovaleac Javier Matas de Haro @jmatasdh

Uso de git: un caso real

Embed Size (px)

Citation preview

Page 1: Uso de git: un caso real

Uso de Git: un caso real

Pablo González Doval

@dovaleac

Javier Matas de Haro

@jmatasdh

Page 2: Uso de git: un caso real

●Técnicas que utilizamos○Explicaciones básicas a nuevos miembros○Branch-per-feature○Mantener el árbol ordenado○Repositorio de Excels

●Períodos históricos○Previo a producción○Salida a producción○Actualidad

Page 3: Uso de git: un caso real

origin real

origin desactualizado

commits locales

cambios sin commitear

commit

push

pull

fetch

+ checkout, merge, rebase... + http://pcottle.github.io/learnGitBranching/

Page 4: Uso de git: un caso real

Branch per feature

dev

YUMP-121

YUMP-120

Page 5: Uso de git: un caso real

Mantener el árbol ordenado (1)

dev

YUMP-121

YUMP-120

dev

YUMP-120 YUMP-121

PR #1 PR #2

Page 6: Uso de git: un caso real

Mantener el árbol ordenado (2)

dev

YUMP-121 YUMP-120

dev

● Aceptar primer pull-request

Page 7: Uso de git: un caso real

● Actualizar ramas locales● Posicionarse en rama YUMP-121

Mantener el árbol ordenado (3)

dev

YUMP-121 YUMP-120

dev

YUMP-121

Page 8: Uso de git: un caso real

● git rebase dev

Mantener el árbol ordenado (4)

YUMP-120

dev

YUMP-121

YUMP-121

Page 9: Uso de git: un caso real

● Nos posicionamos en la rama dev

Mantener el árbol ordenado (5)

YUMP-120

dev

YUMP-121YUMP-121

dev

Page 10: Uso de git: un caso real

● git merge --no-ff YUMP-121

Mantener el árbol ordenado (6)

YUMP-120

dev

YUMP-121

git merge --no-ff -m 'Merged YUMP-121 in dev (pull request #2)' YUMP-121

YUMP-121

dev

Page 11: Uso de git: un caso real

Mantener el árbol ordenado (7)

● Aprobamos el pull-request● Denegamos la fusión en la rama

Page 12: Uso de git: un caso real

Rebaseo de Excels● Cuando hay conflictos : <<<<<<<<<<<<<HEAD ------------

Commit>>>>>>>>>>>>>>>>>>

● ID, NOMBRE1, Ju2, Pedro

● ID, NOMBRE1, Juan2, Pedro

● ID, NOMBRE1, Julio2, Pedro

ID NOMBRE

1 Ju

2 Pedro

Page 13: Uso de git: un caso real

Rebaseo de Excels● ID, NOMBRE

1, Ju<<<<<<<<<<<<<HEADan------------lio Commit>>>>>>>>>>>>>>>>>>2, Pedro

Page 14: Uso de git: un caso real

Rebaseo de Excels● No hay una alternativa fiable como repositorio de Excel/csv● Creamos nuestro propio repositorio independiente del de back

Page 15: Uso de git: un caso real

Períodos históricos

● Previo a producción

● Salida a producción

● En producción○ Tentativas y soluciones

Page 16: Uso de git: un caso real

Previo a producción

YUMP-120

YUMP-121

dev

BUG #122

YUMP-120YUMP-121

dev

BUG #122

PR #1

PR #2

Page 17: Uso de git: un caso real

Salida a producción

git commit

git stash

git fetch

git rebase origin/dev

git push origin dev

Page 18: Uso de git: un caso real

En producción

HOTFIX-122

dev

master

YUMP-121 YUMP-123

BUG-124

RELEASE v1.0

Page 19: Uso de git: un caso real

En producción

HOTFIX-122

dev

master

YUMP-121 YUMP-123

BUG-124

RELEASE v1.1

integración

Page 20: Uso de git: un caso real

En producción

Retos:

● Pruebas por feature en paralelo.● Salida a producción lo antes posible.

Soluciones:

● git checkout integracion → git rebase dev

Page 21: Uso de git: un caso real

En producción

Retos:

● Pruebas por feature en paralelo.● Salida a producción lo antes posible.● Hotfixes y bugs de release que rompen la estructura.

Soluciones:

● git checkout integracion → git rebase dev● git cherry-pick <SHA>

Page 22: Uso de git: un caso real

En producción

Retos:

● Pruebas por feature en paralelo.● Salida a producción lo antes posible.● Hotfixes y bugs de release que rompen la estructura.● Pruebas fallidas, vuelta atrás.

Soluciones:

● git checkout integracion → git rebase dev● git cherry-pick <SHA>● git reset --hard <SHA>

Page 23: Uso de git: un caso real

HOTFIX-122

dev

master

YUMP-121 YUMP-123

BUG-124

RELEASE v1.1

integración

Release_v1.1

Page 24: Uso de git: un caso real

Gracias!!