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 --stagedantes de commitear. - En historia compartida se usa
revert, noamend. - Lo que no commiteaste, nadie lo recupera.