Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset....

92
Git avanzado Jesús Amieiro

Transcript of Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset....

Page 1: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

Git avanzadoJesús Amieiro

Page 2: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 3: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

1. Git2. Reset3. Cherry pick4. Stash5. Bisect

Git avanzado6. Blame7. Rebase8. Squash9. Reflog

Page 4: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

1 - Git

Page 5: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

Equipo 1

V 1

V 2

V 3

Equipo 2

V 1

V 2

V 3

Equipo 3

V 1

V 2

V 3

Servidor

V 1

V 2

V 3

Page 6: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

Commit

Page 7: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

Commit 160bitsFunción SHA-1

Page 8: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

75528b9

Commit 1

75528b9

Commit 1

8daf16a

Commit 2

75528b9

Commit 1

8daf16a

Commit 2

a346348

Commit 3

Page 9: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

Directorio de trabajo

Zona de preparación Repositorio

Preparar archivos

Commit

Checkout

Page 10: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

Con seguimientoSin

seguimientoSin

modificación Modificado

Añadir archivo

Edición

Commit

Preparado

Page 11: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

75528b9

Commit 1

8daf16a

Commit 2

de396a3

Commit 5

a3ae45c

Commit 3

456af81

Commit 4

pruebas

master

HEAD

Page 12: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

• git clone• git remote• git push• git fetch• git pull

Repositorios remotos

Page 13: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

2 - reset

Page 14: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

Directorio de trabajo

Zona de preparación Repositorio

softmixed

hard

Page 15: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

reset1. soft

Page 16: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 17: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 18: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 19: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

reset2. mixed

Page 20: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 21: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 22: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

reset3. hard

Page 23: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 24: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

3 - cherry-pick

Page 25: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

75528b9

Commit 1

8daf16a

Commit 2

de396a3

Commit 5

a3ae45c

Commit 3

456af81

Commit 4

feature-1

master

HEAD

Page 26: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

$ git checkout master$ git cherry-pick 456af81

git cherry-pick

Page 27: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

75528b9

Commit 1

8daf16a

Commit 2

de396a3

Commit 5

a3ae45c

Commit 3

456af81

Commit 4

feature-1

master

ad358e1

HEAD

Commit 6

Page 28: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

Cherry pick1. Ejemplo básico

Page 29: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 30: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 31: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 32: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

• 2 o más commits• Editar el mensaje de commit: -e• Aplicar el contenido sin hacer el

commit

git cherry-pick

Page 33: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

Cherry pick2. Aplicar el contenido

sin hacer el commit

Page 34: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 35: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 36: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 37: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 38: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 39: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 40: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

4 - stash

Page 41: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 42: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 43: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 44: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 45: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 46: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 47: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 48: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

5 - bisect

Page 49: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 50: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 51: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 52: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 53: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 54: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 55: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 56: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

6 - blame

Page 57: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 58: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 59: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 60: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

7 - rebase

Page 61: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

7.1 – merge fast forward

Page 62: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 63: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 64: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 65: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

7.2 – merge recursive

Page 66: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 67: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 68: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 69: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 70: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

7.3 – rebase

Page 71: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 72: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 73: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 74: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 75: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 76: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

8 - squash

Page 77: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 78: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 79: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 80: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 81: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 82: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 83: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 84: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 85: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 86: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 87: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

9 - reflog

Page 88: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 89: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 90: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 91: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.
Page 92: Git avanzado - 2020.spain.wordcamp.org … · • git pull Repositorios remotos. 2 - reset. Directorio de trabajo Zona de preparación Repositorio soft mixed hard. reset 1. soft.

Preguntas