我之前遇到过错误(GIT错误:对象文件为空)
然后我使用how to fix GIT error: object file is empty?中提到的方法
在我将HEAD指针更新为一个好的对象后,它确实有效。但是当我重新启动机器时,发生了同样的错误(目标文件为空)。
我尝试QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal {
border: none;
background: none;
}
QScrollBar::left-arrow:horizontal, QScrollBar::right-arrow:horizontal, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {
border: none;
background: none;
color: none;
}
删除所有空文件并输入find . -type f -empty -delete
然后发生新错误。(GIT错误:HEAD:无效的reflog条目xxxxxxxxxxxxxxxx)
我的GIT有什么问题吗?还是仅仅因为我的不良行动? 以及如何解决这个问题?
答案 0 :(得分:12)
要使用的命令是git reflog expire --stale-fix --all
这里的神奇之处在于--stale-fix
选项,它将修剪任何指向无法访问的提交并引用丢失对象的reflog条目。
答案 1 :(得分:1)
要使用的命令是 git reflog expire --stale-fix --all
但请确保使用 Git 2.31(2021 年第一季度)
"git reflog expire --stale-fix
"(man) 可用于通过删除引用对象的条目来修复引用日志,这些条目已被修剪掉,但不小心容忍丢失的对象。
请参阅 commit c809798 的 Johannes Schindelin (dscho
)(2021 年 2 月 10 日)。
(2021 年 2 月 17 日在 Junio C Hamano -- gitster
-- 被 commit e68f62b 合并)
reflog expire --stale-fix
:对丢失的物品大方签字人:约翰内斯·辛德林
<块引用>每当用户运行 git reflog
(man) expire --stale-fix
时,最可能的原因是他们的存储库至少有点 em> 腐败。
这意味着很可能丢失了某些对象。
如果是这种情况,当前可以让命令在尝试标记所有可访问对象的阶段中止。
与其雪上加霜,不如保持温和,在这种情况下尽我们所能继续前进,只需忽略丢失的物体并继续前进即可。