当我输入git reflog
git bash 时,它什么也没显示。当我show reflog
在 TortoiseGit 的上下文菜单上选择时,它说
“加载 reflog 时出错。libgit2 返回:无法解析 OID,包含无效字符”。
git的其他功能很好。我已经在 Google 和 Bing 中搜索了几个小时的这个问题的解决方案。但是还是想不通。我接下来应该尝试什么来解决问题或找到原因?
当我输入git reflog
git bash 时,它什么也没显示。当我show reflog
在 TortoiseGit 的上下文菜单上选择时,它说
“加载 reflog 时出错。libgit2 返回:无法解析 OID,包含无效字符”。
git的其他功能很好。我已经在 Google 和 Bing 中搜索了几个小时的这个问题的解决方案。但是还是想不通。我接下来应该尝试什么来解决问题或找到原因?
的 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
。