Prompteo

Unidad 2 · 2 min

El día a día

El ciclo status, add, commit, log y diff, y cómo deshacer sin perder trabajo: restore, revert, amend y por qué reset --hard y clean -fd merecen respeto.

El ciclo diario. git status para ver dónde estás, git add para preparar, git diff --staged para revisar lo preparado y git commit para registrarlo. git add -p prepara trozo por trozo. git add -u y git commit -a toman solo lo que Git ya sigue, sin archivos nuevos. git log --oneline --graph --all muestra la historia con sus ramas.

Leer un diff. + marca las líneas agregadas y -, las quitadas. Para dimensionar un cambio usá git status, que muestra los archivos nuevos, y git diff HEAD --stat, que resume qué cambió desde el último commit.

Deshacer, de menor a mayor daño. git restore --staged <archivo> saca algo del área de preparación sin tocar el archivo. git commit --amend reemplaza el último commit por uno nuevo, con otro hash: solo antes de compartirlo. git revert <commit> agrega un commit que deshace a otro sin reescribir la historia.

Lo destructivo. git restore <archivo>, git reset --hard y git clean -fd descartan trabajo: lo que nunca commiteaste no se recupera. Antes de un clean, probá git clean -n, que solo lista. git stash -u guarda aparte lo que tenés a medias y git stash pop lo devuelve. Si descartaste commits, git reflog muestra dónde estuvo HEAD en tu copia local, y git reset --hard <hash> te lleva ahí.

Tres ideas para llevarte:

  • Revisá con git diff --staged antes de commitear.
  • En historia compartida se usa revert, no amend.
  • Lo que no commiteaste, nadie lo recupera.