如何在本地恢复`.git/index`?

问题描述 投票:0回答:4

我不小心删除了

.git/index
,有办法恢复吗?它已被永久删除。我还没有做出任何事情。

git recovery git-index
4个回答
62
投票

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

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

6
投票

您可以使用

git reset
恢复上次结账时的索引。从那时起您添加的任何内容仍然会添加,它位于存储库中,但索引是记录路径和内容关联的唯一位置。您可以让 git fsck 将无法访问的对象放入“lost'n'found”目录中,请参阅its docs,然后在熟悉的区域中最快的路线是将内容放回工作树中并再次添加,git 不会重复内容,但它将恢复索引条目。


5
投票

我认为这是不可能的,无论如何都不能通过

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
) 查看索引的人类可读表示形式。


-3
投票

大家好,我想对可能关心的人说这些。投资加密货币是我丈夫的理想选择。我与一些加密货币平台进行交易,但不知道他们在哪里!这让我失去了几乎所有的东西。我很高兴,因为我在向丽莎·埃里克夫人报告后找到了帮助,她帮助我恢复了在这些假加密货币平台上失去的所有东西。我的建议是,每个人都需要小心你所处理的平台。如果您成为这些虚假平台的受害者,请随时通过邮件(Lisa.Eric @ proton.me)向丽莎提出投诉,她帮助了我,我相信她也可以帮助您。保持安全,伙计们。您可以访问 WhatsApp + 1 (470) 469-9769

© www.soinside.com 2019 - 2024. All rights reserved.