如何在本地恢复“.git/index”



我不小心删除了.git/index,有没有办法恢复它?它已被永久删除。我还没有犯任何罪。

要重建索引文件,可以尝试以下两个命令:

git reset         # re-scan the working directory
git add -u        # update the index

您可以使用 git reset 恢复上次结帐时的索引。 从那时起您添加的任何内容仍然会添加,它位于存储库中,但索引是唯一记录路径和内容关联的地方。 你可以让 git fsck 将无法访问的对象放入丢失的目录中,查看其文档,然后熟悉领域的最快途径是将内容放回工作树中并再次添加,git 不会复制内容,但它会恢复索引条目。

我认为这

是不可能的,无论如何都不能通过git(您可以尝试查看垃圾箱目录或文件系统提供的任何恢复方式)。但是,只要您git add某些内容或执行其他需要索引的操作,您就会获得一个新索引。

如果您丢失了已git add编辑的任何文件,则可以浏览./git/objects(find .git/objects/ -type f |sed 's:.git/objects/::; s:/::' ),使用git cat-file -p $the_hash检查每个文件的内容,一旦找到丢失的文件,将输出重定向到文件。

(当您git add 时,文件名条目将转到 .git/index,文件内容存储在 .git/objects/ 中。Git 索引由当您commit 时创建的可能树对象的文件名条目组成。您可以使用 git ls-files --stage 查看索引的人类可读表示形式)。

相关内容

  • 没有找到相关文章

最新更新