Git Reset y Reflog: úsese en caso de emergencia
Clase 39 de 43 • Curso Profesional de Git y GitHub
Contenido del curso
- 8

Crea un repositorio de Git y haz tu primer commit
10:51 - 9

Analizar cambios en los archivos de tu proyecto con Git
09:40 - 10

¿Qué es el staging?
05:17 - 11

¿Qué es branch (rama) y cómo funciona un Merge en Git?
03:56 - 12

Volver en el tiempo en nuestro repositorio utilizando reset y checkout
11:17 - 13
Git reset vs. Git rm
03:50
- 18

Cómo funcionan las llaves públicas y privadas
05:27 - 19

Configura tus llaves SSH en local
19:04 - 20

Uso de GitHub
12:09 - 21
Cambios en GitHub: de master a main
00:46 - 22

Tu primer push
08:17 - 23

Git tag y versiones en Github
09:48 - 24

Manejo de ramas en GitHub
06:32 - 25

Configurar múltiples colaboradores en un repositorio de GitHub
11:11
- 26

Flujo de trabajo profesional: Haciendo merge de ramas de desarrollo a master
17:27 - 27

Flujo de trabajo profesional con Pull requests
04:49 - 28

Utilizando Pull Requests en GitHub
14:51 - 29

Creando un Fork, contribuyendo a un repositorio
20:19 - 30

Haciendo deployment a un servidor
05:49 - 31

Hazme un pull request
01:46 - 32

Ignorar archivos en el repositorio con .gitignore
07:20 - 33

Readme.md es una excelente práctica
05:34 - 34

Tu sitio web público con GitHub Pages
07:17
Git guarda todos los cambios aunque decidas borrarlos, al borrar un cambio lo que estás haciendo sólo es actualizar la punta del branch, para gestionar éstas puntas existe un mecanismo llamado registros de referencia o reflogs…La gestión de estos cambios es mediante los hash’es de referencia (o ref) que son apuntadores a los commits…Los recoges registran cuándo se actualizaron las referencias de Git en el repositorio local (sólo en el local), por lo que si deseas ver cómo has modificado la historia puedes utilizar el comando:
git reflog
Muchos comandos de Git aceptan un parámetro para especificar una referencia o “ref”, que es un puntero a una confirmación sobre todo los comandos:
-
git checkoutPuedes moverte sin realizar ningún cambio al commit exacto de larefgit checkout eff544f -
git reset: Hará que el último commit sea el pasado por laref, usar este comando sólo si sabes exactamente qué estás haciendogit reset --hard eff544f # Perderá todo lo que se encuentra en staging y en el Working directory y se moverá el head al commit eff544f git reset --soft eff544f # Te recuperará todos los cambios que tengas diferentes al commit eff544f, los agregará al staging area y moverá el head al commit eff544f -
git merge: Puedes hacer merge de un commit en específico, funciona igual que con una branch, pero te hace el merge del estado específico del commit mandadogit checkout master git merge eff544f # Fusionará en un nuevo commit la historia de master con el momento específico en el que vive
¿Qué pasa cuando todo se rompe y no sabemos qué está pasando? Con git reset HashDelHEAD nos devolveremos al estado en que el proyecto funcionaba.
git reset --soft HashDelHEADte mantiene lo que tengas en staging ahí.git reset --hard HashDelHEADresetea absolutamente todo incluyendo lo que tengas en staging.
Atención
git reset es una mala práctica, no deberías usarlo en ningún momento. Debe ser nuestro último recurso.
Aporte creado por: David Behar.