Comando git restore
git restore El comando se utiliza para restaurar o deshacer cambios en archivos.
git restoreEl comando se introdujo en la versión 2.23 de Git, para simplificar y mejorar las operaciones de restauración de archivos. En comparación con el comando anterior (comogit checkoutygit reset), se centra más en restaurar el contenido de los archivos y el estado del área de trabajo.
git restorePuede restaurar archivos en el área de trabajo y en el área de almacenamiento temporal, y también se puede utilizar para descartar cambios no confirmados.
Sintaxis básica
git restore [<options>] [<pathspec>...]
<pathspec>: la ruta del archivo o directorio a restaurar.<options>: las opciones para personalizar el comportamiento de la restauración.
Opciones comunes y usos
| Opción | Descripción | Ejemplo de uso |
|---|---|---|
--source=<commit> | Restaura el contenido del archivo desde el commit especificado. El valor predeterminado es HEAD, es decir, el commit actual. | git restore --source=HEAD~1 file.txt |
--staged | Restaura el contenido de los archivos del área de almacenamiento temporal al área de trabajo, en lugar de restaurar el contenido del área de trabajo. | git restore --staged file.txt |
--worktree | Restaura el contenido de los archivos del área de trabajo al estado actual del área de trabajo. | git restore --worktree file.txt |
--ours | En caso de conflicto de fusión, restaura la versión de la rama actual (es decir, la versión "nuestra"). | git restore --ours file.txt |
--theirs | En caso de conflicto de fusión, restaura la versión de la otra rama (es decir, la versión "de ellos"). | git restore --theirs file.txt |
--conflict=<style> | Especifica el estilo del conflicto de fusión, por ejemplomergeodiff3。 | git restore --conflict=diff3 file.txt |
--dry-run | Muestra los archivos y rutas que se restaurarán sin realizar realmente la restauración. | git restore --dry-run |
-s, --source | y--sourceIgual que, se utiliza para restaurar archivos desde un commit específico. | git restore -s HEAD~1 file.txt |
-W, --worktree | Restaura el contenido de los archivos del área de trabajo al estado actual del área de trabajo (igual que--worktree). | git restore -W file.txt |
-S, --staged | Restaura el contenido de los archivos del área de almacenamiento temporal al área de trabajo, en lugar de restaurar el contenido del área de trabajo (igual que--staged). | git restore -S file.txt |
Ejemplos
Restaurar archivos en el área de trabajo
Restaurar archivos del área de trabajo al estado del commit más reciente (es decir, descartar todos los cambios no confirmados del archivo):
git restore file.txt
Restaurar archivos en el área de almacenamiento temporal (staging)
Restaurar los archivos del área de almacenamiento temporal al área de trabajo, lo que en realidad elimina los archivos del área de almacenamiento temporal (sin confirmar):
git restore --staged file.txt
Restaurar archivos desde un commit específico
Restaurar archivos desde un commit (por ejemplo, HEAD~1):
git restore --source=HEAD~1 file.txt
Restaurar la versión "nuestra" de un archivo
En caso de conflicto de fusión, restaura la versión de la rama actual (es decir, la versión "nuestra"):
git restore --ours file.txt
Restaurar la versión "de ellos" de un archivo
En caso de conflicto de fusión, restaura la versión de la otra rama (es decir, la versión "de ellos"):
git restore --theirs file.txt
Mostrar los archivos y rutas que se restaurarán
Muestra los archivos y rutas que se restaurarán sin realizar realmente la restauración:
git restore --dry-run
Restaurar múltiples archivos
Restaurar múltiples archivos en el área de trabajo:
git restore file1.txt file2.txt
Otras extensiones
Operaciones básicas de Git