Inicio·Comandos de terminal

git restore

git

Uso

git restore [--staged] [-s <commit>] <pathspec>

El comando de git 2.23 para devolver el contenido de un archivo; por defecto sobrescribe tu archivo y los cambios sin commit desaparecen, mientras --staged solo quita del área de preparación.

Opciones habituales

OpciónSignificado
--stagedunstage the file but keep your edits
--worktreereset the file on disk; this is the default
--staged --worktreeboth: throw the edits away and unstage
-s <commit>take the content from that commit instead of the index
-pchoose hunk by hunk

Ejemplos

git restore src/app.ts

wipes uncommitted edits to that file, with no way back

git restore --staged src/app.ts

takes it out of the staging area, edits intact

git restore -s HEAD~2 src/app.ts

brings back the version from two commits ago

Lo confuso es que deshacer tiene varias formas: mover a dónde apunta una rama no es lo mismo que añadir un commit que la revierte.

Cómo leerlo

  • Los corchetes [ ] marcan una parte que puedes omitir.
  • Los puntos suspensivos … indican que puedes poner varios.
  • Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.

Preguntas

Q. ¿Qué hace git restore?

El comando de git 2.23 para devolver el contenido de un archivo; por defecto sobrescribe tu archivo y los cambios sin commit desaparecen, mientras --staged solo quita del área de preparación.

Q. ¿Cómo se escribe?

git restore [--staged] [-s <commit>] <pathspec> — los corchetes marcan lo que puedes omitir.

Q. ¿Cuántas opciones vale la pena saber?

Aquí van 5; la lista completa está en man git. Este comando está en git.

Comandos relacionados

página man: man git-restore