git gc
error: Could not read 0000000000000000000000000000000000000000
Enumerating objects: 147323, done.
Counting objects: 100% (147323/147323), done.
Delta compression using up to 4 threads
Compressing objects: 100% (36046/36046), done.
Writing objects: 100% (147323/147323), done.
Total 147323 (delta 91195), reused 147323 (delta 91195), pack-reused 0
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?我应该担心还是忽视这个问题?
例如git gc --help
和类似的似乎没有任何东西可以解释问题。
我在 Lubuntu 20.04 上运行 git 版本 2.35.1。
j6t*_*j6t 32
此错误是无害的,因为它并不表示存储库已损坏。这是 Git 2.35 中引入的一个错误,应该在以后的版本中修复。[编辑:此回归已在 Git 2.36.0 中修复。]
可能发生的最糟糕的情况是git gc
没有修剪从引用日志引用的所有对象。git reflog expire --all
该错误是由git gc
幕后的调用触发的。
触发器是.git/logs
删除分支后留下的目录结构中的空引用日志文件。作为解决方法,您可以删除这些空文件。此命令可让您找到它们并检查它们的大小:
find .git/logs -type f -size 0c | xargs ls -ld
Run Code Online (Sandbox Code Playgroud)
仅选择与分支不对应的文件。(另外,我不确定 的操作-size 0c
,因此,请确保不要盲目删除所有列出的文件,而只删除那些没有相应分支且实际上为空的文件。)
这个问题已根据这个SO问题转发到git邮件列表并正在解决。
归档时间: |
|
查看次数: |
5531 次 |
最近记录: |