Hoja de trucos de comandos de Git

Siguiente

Git tiene alrededor de 150 subcomandos y varios de ellos se ven peligrosamente similares, reset vs restore, checkout vs switch, rm vs restore --staged. Esta hoja de trucos agrupa los comandos que realmente escribes por situación: flujo de trabajo diario, ramificación, deshacer errores y almacenar. Elige el grupo y copia el bloque.

Cómo usar la hoja de trucos

  1. 1

    Elige un tema

    Diario, ramificación, deshacer o stash, cada uno se mapea a un modo mental diferente.

  2. 2

    Escanea el bloque

    Cada línea es un comando completo y funcional, sin marcadores en ángulos a menos que se indique explícitamente.

  3. 3

    Copia el que necesitas

    Pega en tu terminal, ajusta el nombre de la rama o el SHA del commit, y ejecuta.

Por qué los comandos aún confunden a los usuarios experimentados

La porcelana de Git creció por acumulación. checkout se sobrecargó para “cambiar rama” y “restaurar archivo”; reset se sitúa entre “descartar trabajo” y “mover el puntero de la rama”. Desde Git 2.23 hay verbos más claros:

Antiguo Nuevo (más claro)
git checkout branch git switch branch
git checkout -b new git switch -c new
git checkout -- file git restore file
git checkout --staged file git restore --staged file

La escalera de deshacer segura

  1. Restaurar un archivo: git restore path/to/file (no preparado) o git restore --staged path/to/file (preparado pero no confirmado).
  2. Deshacer el último commit, mantener cambios: git reset --soft HEAD~1.
  3. Deshacer el último commit, descartar cambios: git reset --hard HEAD~1 (destructivo; verifica que no tengas trabajo no confirmado).
  4. Revertir un commit compartido: git revert <sha>, crea un nuevo commit que anula el anterior; seguro en el historial enviado.

Etiqueta de stash

  • Siempre haz stash con un mensaje: git stash push -m "wip: conectando api".
  • Lista los stashes con git stash list antes de hacer pop, los stashes anónimos se acumulan rápido.
  • git stash pop aplica y elimina; git stash apply aplica y mantiene.

Recuperación

¿Perdiste un commit después de un reset duro? Probablemente aún esté en el reflog. Ejecuta git reflog para ver cada movimiento de HEAD de los últimos 90 días y git reset --hard <sha> para volver a un estado bueno.

Preguntas frecuentes

Desde Git 2.23 (agosto de 2019) el proyecto dividió el verbo sobrecargado checkout en dos. switch cambia ramas, restore corrige archivos. Ambos aún existen por compatibilidad hacia atrás pero son más fáciles de leer cuando revisitas el historial de la shell.

reset mueve el puntero de la rama (y opcionalmente el árbol de trabajo). revert crea un nuevo commit que deshace uno anterior, seguro en una rama compartida. checkout / restore cambian archivos en el árbol de trabajo sin reescribir el historial.

Usa git revert <sha> para agregar un commit compensatorio y envíalo. Evita git reset --hard + git push --force en ramas compartidas a menos que el equipo haya acordado explícitamente.

Los comandos son texto estático renderizado en la página. El tema que eliges se envía al servidor solo para mostrar los comandos correspondientes y viaja en el enlace de la página cuando pasas de un paso al otro. No se almacena ni se registra.

Herramientas relacionadas

Herramienta disponible en otros idiomas