致命错误:无法更新引用“HEAD”:无法附加到“.git/logs/HEAD”:坏的文件描述符。

4

我正在开展机器人框架自动化项目的工作。突然之间,git commit无法使用,我在提交命令时遇到如下错误

**fatal: cannot update the ref 'HEAD': unable to append to '.git/logs/HEAD': Bad file descriptor**

我正在使用Windows机器。到目前为止,我已经完成了4个提交,并且代码已经在仓库中。随着最新的更改,提交时出现了上述错误。我查看了一些在stackoverflow上引用的问题,但是我无法解决它。
请帮我解决这个问题。
我使用以下命令:git commit -a -m "description"git commit -m "description" 对我来说,没有任何sudo命令起作用,它会显示以下信息:
> $ sudo chown -R useremail .git/ 
> bash: sudo: command not found

听起来你缺少sudo命令。 - evolutionxbox
“我正在使用Windows机器”这部分内容让我想到你可能遇到了著名(臭名昭著?)的问题,即Windows系统拒绝让程序打开其他程序已经打开的文件。在这种情况下,请找出正在持有Git文件的其他程序并终止它(或等待其完成)。 - torek
除了一件事情,其他选项都没有起作用,即从C盘克隆和推送代码。我只能在C盘中工作,而在其他驱动器中,我无法克隆、拉取或推送代码。 - Sailesh Botcha
1
谢谢您的回复。但是我找到了一个解决方案,即GIT版本2.19.1引起了问题。当我降级git版本后,它就正常工作了。 - Sailesh Botcha
尝试与云服务同步时,问题也会发生。 - Loewe8
2个回答

0

这可能发生在您意外使用根权限创建分支时。最好检查本地的.git文件夹所有权权限,即ls -la .git/refs/heads/应该归用户所有而不是根用户。


-1

尝试使用以下方式运行相同的命令:

  • 普通CMD会话(无Git bash或Cygwin)
  • 最新版本的Git for Windows 2.21
  • 新的克隆存储库

您不应再次遇到该错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接