0

当我输入git refloggit bash 时,它什么也没显示。当我show reflog在 TortoiseGit 的上下文菜单上选择时,它说

“加载 reflog 时出错。libgit2 返回:无法解析 OID,包含无效字符”。

git的其他功能很好。我已经在 Google 和 Bing 中搜索了几个小时的这个问题的解决方案。但是还是想不通。我接下来应该尝试什么来解决问题或找到原因?

4

1 回答 1

0

的 reflogHEAD是一个纯文本文件,存储在.git/logs/HEAD.

您可以检查此文件是否存在、是否可访问,以及是否在其内容中看到可疑内容。


每行应如下所示:

<sha1> <sha1> <author + unix timestamp + timezone> <1 line commit message>

来自错误消息:其中一个sha1部件必须已损坏。


如果错误足够明显(文件被截断,两行明显连接......)您可以尝试手动编辑文件,并删除或修复错误行。

两者的sha1意思是“引用从这个提交移动到这个提交”。因此它们在行之间“链接”: line 的第二个 sha1 是 linen-1的第一个 sha1, linen的第一个 sha1 是 linen+1的第二个n

于 2020-05-25T16:30:48.257 回答