撤消删除 Git 中被忽略的文件

Undo delete of an ignored file in Git

我试图修复 Git 中的一些合并冲突,但我删除了我的媒体文件夹(间接),其中包含我的网站所需的所有图像。我本可以从 Git 中提取,但我不能,因为 .gitignore 会忽略媒体文件夹。

我从git拉出来的,但是它说

error: Your local changes to the following files would be overwritten by merge.

所以我隐藏了我的目录,然后再次尝试拉取。由于一些合并冲突,我在 git checkout -- ..

之后隐藏、提交,然后尝试将 HEAD 重置为上一次提交(我认为这是文件夹被删除的地方)

有什么方法可以撤消删除操作吗?

幸运的是:您描述的操作不包括会从磁盘中删除未跟踪文件的操作。您的媒体文件夹可能最终被隐藏起来了。

运行 git stash list 检查你有多少藏品。

您可以使用常规 git 命令来检查存储的内容。例如,您可以使用 git ls-tree :

列出存储中的文件
git ls-tree stash@{xx}
git ls-tree -r --name-only stash@{xx}:media/folder

# actually, 'git ls-tree' works on any commit (not just stashes)

如果您在这些藏品之一中看到您想要的内容,只需 运行 :

git stash apply stash@{xx}

# if its the first stash (stash@{0}), shortcut is :
git stash apply