Upload
pablo-gonzalez-doval
View
427
Download
0
Embed Size (px)
Citation preview
Uso de Git: un caso real
Pablo González Doval
@dovaleac
Javier Matas de Haro
@jmatasdh
●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
origin real
origin desactualizado
commits locales
cambios sin commitear
commit
push
pull
fetch
+ checkout, merge, rebase... + http://pcottle.github.io/learnGitBranching/
Branch per feature
dev
YUMP-121
YUMP-120
Mantener el árbol ordenado (1)
dev
YUMP-121
YUMP-120
dev
YUMP-120 YUMP-121
PR #1 PR #2
Mantener el árbol ordenado (2)
dev
YUMP-121 YUMP-120
dev
● Aceptar primer pull-request
● Actualizar ramas locales● Posicionarse en rama YUMP-121
Mantener el árbol ordenado (3)
dev
YUMP-121 YUMP-120
dev
YUMP-121
● git rebase dev
Mantener el árbol ordenado (4)
YUMP-120
dev
YUMP-121
YUMP-121
● Nos posicionamos en la rama dev
Mantener el árbol ordenado (5)
YUMP-120
dev
YUMP-121YUMP-121
dev
● 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
Mantener el árbol ordenado (7)
● Aprobamos el pull-request● Denegamos la fusión en la rama
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
Rebaseo de Excels● ID, NOMBRE
1, Ju<<<<<<<<<<<<<HEADan------------lio Commit>>>>>>>>>>>>>>>>>>2, Pedro
Rebaseo de Excels● No hay una alternativa fiable como repositorio de Excel/csv● Creamos nuestro propio repositorio independiente del de back
Períodos históricos
● Previo a producción
● Salida a producción
● En producción○ Tentativas y soluciones
Previo a producción
YUMP-120
YUMP-121
dev
BUG #122
YUMP-120YUMP-121
dev
BUG #122
PR #1
PR #2
Salida a producción
git commit
git stash
git fetch
git rebase origin/dev
git push origin dev
En producción
HOTFIX-122
dev
master
YUMP-121 YUMP-123
BUG-124
RELEASE v1.0
En producción
HOTFIX-122
dev
master
YUMP-121 YUMP-123
BUG-124
RELEASE v1.1
integración
En producción
Retos:
● Pruebas por feature en paralelo.● Salida a producción lo antes posible.
Soluciones:
● git checkout integracion → git rebase dev
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>
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>
HOTFIX-122
dev
master
YUMP-121 YUMP-123
BUG-124
RELEASE v1.1
integración
Release_v1.1
Gracias!!