ConceptoBloque 2 · Deshacer
Commits locales contra commits publicados
Comandos de esta diapositiva
git statusgit log --oneline --graph --all
Explicación
Todo lo de este bloque se decide con una pregunta: ¿ese commit ya está en GitHub?
Es como una tarea. Mientras está en tu computadora la cambias cuantas veces quieras, pero una vez que la subes a Classroom el profe ya pudo descargarla.
- Lo local se puede reescribir con
amendoreset. - Lo publicado se corrige con
revert.
Para saber en cuál caso estás:
git status # lo dice
git log --oneline --graph --all # lo dibuja
En el dibujo aparece origin/main: es la última versión de main en GitHub que conoce tu computadora.
Práctica
- Ejecuta
git statusy lee las líneas 2 y 3:Your branch and 'origin/main' have diverged, and have 6 and 1 different commits each. Tienes commits que GitHub no tiene, y GitHub tiene uno que tú ya no (la versión vieja del commit que corregiste con amend). - Ejecuta
git log --oneline --graph --ally busca la bifurcación: tus commits locales de un lado y(origin/main) docs: describe el tallerdel otro. - Compara el hash de
origin/maincon el que anotaste en la práctica de amend: es el mismo.
Comprobación: puedes señalar en tu pantalla qué commits son solo locales y cuál está solo en GitHub. Los números pueden variar; lo importante es que los dos sean mayores que cero.