Comando git restore

Git 基本操作Operaciones básicas de Git


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ónDescripciónEjemplo 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
--stagedRestaura 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
--worktreeRestaura el contenido de los archivos del área de trabajo al estado actual del área de trabajo.git restore --worktree file.txt
--oursEn 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
--theirsEn 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-runMuestra los archivos y rutas que se restaurarán sin realizar realmente la restauración.git restore --dry-run
-s, --sourcey--sourceIgual que, se utiliza para restaurar archivos desde un commit específico.git restore -s HEAD~1 file.txt
-W, --worktreeRestaura 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, --stagedRestaura 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


Git 基本操作Operaciones básicas de Git

Otras extensiones