小编Sam*_*rga的帖子

如何从git中的损坏的松散文件中恢复

我有一个损坏的git对象.git对象dir中文件的大小为0.

首先是一个fsck:

git fsck --full
fatal: loose object a35c1489005cca1ffeb3c2d3e4d63988408b6a24 (stored in .git/objects/a3/5c1489005cca1ffeb3c2d3e4d63988408b6a24) is corrupted
Run Code Online (Sandbox Code Playgroud)

那么一个ls:

ls -l .git/objects/a3/5c1489005cca1ffeb3c2d3e4d63988408b6a24
----------+ 1 sampath ???????? 0 Sep 13 15:26 .git/objects/a3/5c1489005cca1ffeb3c2d3e4d63988408b6a24
Run Code Online (Sandbox Code Playgroud)

该文件在磁盘上不存在!?

# git cat-file -t a35c1489005cca1ffeb3c2d3e4d63988408b6a24
error: unable to find a35c1489005cca1ffeb3c2d3e4d63988408b6a24
fatal: git cat-file a35c1489005cca1ffeb3c2d3e4d63988408b6a24: bad file
Run Code Online (Sandbox Code Playgroud)

当我试图拉动时,我首先看到了这个错误.
我尝试删除文件并进行拉动,但这不起作用.它抱怨文件丢失了.

当我删除文件并运行fsck时,它向我展示了很多悬空物体

# git fsck --full
broken link from  commit 1e5980c224ff19b19ad99dbefed4c7c64c58aee6
              to    tree a35c1489005cca1ffeb3c2d3e4d63988408b6a24
dangling tree 0401d636a512b208dffd6ac6e153ab0a061f8d5d
dangling blob 58014c0266784a1e3cc1502de82837c5f36c8514
dangling tree 0507fa56260c693cea678eab0343240c5bba06ad
dangling tree 130770880c664a0b0cf5a21d037cbdba7480dc90
Run Code Online (Sandbox Code Playgroud)

我厌倦了几次提交但没有帮助.
有关如何从中恢复的任何指示?

git

6
推荐指数
1
解决办法
5656
查看次数

标签 统计

git ×1