Git恢复文件

Joe*_*Joe 1 git git-rm

我将本地文件添加到git repo(git add .)并提交。

然后使用删除文件git rm *并再次提交(第二次提交)。该删除了本地和远程文件。

是否热衷于将文件从git(从第一次提交)返回到相同的本地文件夹?

谢谢。

Tim*_*sen 5

由于您已提交,因此本地文件甚至存在于分支HEAD的文件系统上也没有关系,因为它是Git历史记录的一部分。要从先前的提交中检索文件,可以尝试将其检出:

git checkout abc123 -- path/to/some/file.ext
Run Code Online (Sandbox Code Playgroud)

abc123先前提交的SHA-1哈希在哪里。如果您不知道SHA-1哈希是什么,只需git log从bash中运行,然后查找较早的提交以及该提交的哈希即可。

编辑:

如果您确实想将整个分支还原为某个较早的提交,那么通常可以通过进行安全操作git revert。因此,继续上面的示例,如果您想还原最新的commit abc123,则可以尝试:

git revert abc123
Run Code Online (Sandbox Code Playgroud)

这将在分支的顶部添加一个新的提交,但是在功能上将撤消先前的HEAD提交所做的任何操作。这将使项目中的所有文件保持其早期状态。