代码之家  ›  专栏  ›  技术社区  ›  Robo

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

git
  •  0
  • Robo  · 技术社区  · 2 年前

    我做了一件极其愚蠢的事。我试图修复Git中的一些合并冲突,我不知道我做了什么,但我(间接地)删除了我的媒体文件夹,其中有我网站所需的所有图像。我本可以从Git退出,但我不能,因为。gitignore忽略媒体文件夹。我不知道该怎么办。

    以下是我所做的: 我从git取款,但它说 error: Your local changes to the following files would be overwritten by merge . 所以我藏好了我的目录,然后又试图拉。由于有一些合并冲突,我隐藏、提交,然后尝试在 git checkout -- . .

    1 回复  |  直到 2 年前
        1
  •  1
  •   LeGEC    2 年前

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

    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