📜  恢复被 git commit 删除的文件 (1)

📅  最后修改于: 2023-12-03 15:39:36.493000             🧑  作者: Mango

恢复被 git commit 删除的文件

在使用 Git 进行版本控制时,有时会误操作将文件从 Git 仓库中删除,此时可以使用 Git 命令来恢复已删除的文件。

查看删除的文件

首先,可以通过以下命令查看删除的文件列表:

git log --diff-filter=D --summary

这个命令会显示出所有被删除的文件的 git log。在 git log 的输出中,会看到类似下面的内容:

delete mode 100644 file1.txt
delete mode 100644 file2.txt

这就表示 file1.txt 和 file2.txt 这两个文件已经被删除了。

恢复删除的文件

如果想要恢复已删除的文件,可以通过以下命令完成:

git checkout <commit> <file>

其中,<commit> 表示要恢复文件的 Git 提交记录,可以使用 Git log 命令查找到正确的提交记录。<file> 表示要恢复的文件名。

如果要恢复多个文件,可以使用通配符 * 来匹配文件名。

git checkout <commit> <file-1> <file-2> ... <file-n>
例子

假设我们误操作将文件 file1.txt 删除了,现在需要将其恢复。可以先使用 git log 命令找到最后一次提交记录,然后使用 git checkout 命令将 file1.txt 恢复。

$ git log --diff-filter=D --summary
commit abcdefg
delete mode 100644 file1.txt
delete mode 100644 file2.txt

$ git checkout abcdefg file1.txt

在执行完这个操作之后,file1.txt 就成功恢复了。

结论

通过 git loggit checkout 命令,我们可以轻松地恢复已被删除的文件。这样,即使误操作删除文件,也可以更加安心地使用 Git 进行版本控制。