我试图在自己的犯错之后恢复文件。
git checkout -- *
目前运行得很好。但是,例如,在我的 .gitignore 文件中,我列出了 "LICENSE.txt",它显然不仅适用于该名称的根级文件,而且适用于整个目录树中的每个具有该名称的文件。
因此,当我在 wordpress 文件夹中运行 git checkout -- *
时,会出现错误:
error: pathspec 'blog/license.txt' did not match any file(s) known to git
我该如何运行该命令,使其仅适用于已跟踪的文件?我的另一个选择是逐个浏览每个文件夹并恢复文件。
还要注意,license.txt 不是我唯一被忽略的文件问题。有数十个。
git checkout -- *
实现什么目的?也许有更好的方法可以实现,比如使用git reset --hard
? - Steve Bennettgit checkout -- .
命令 -.
表示当前目录(以及其下的所有内容)。 - porgesgit reset --hard
也可以解决问题。当时情况很糟糕,我丢失了一些重要的未跟踪文件,所以不得不从备份中恢复,虽然大部分相同,但还是有一些差异。我使用git checkout *
来恢复那些在git status .
中仍显示为更改的文件。 - Buttle Butkus