如何解决Git错误:“致命:BUG:为非活动对象调用get_tempfile_fd()”

26

在我每天工作的一个仓库上执行git pull时,我收到了以下错误:

fatal: BUG: get_tempfile_fd() called for inactive object

这就是错误信息所说的。它意味着什么?我该怎么办?


这是一个内部 Git 错误。您可以向 Git 维护人员报告此问题,或切换到另一个 Git 版本(运行“git --version”以查看您所拥有的版本)。同时,值得尝试将 git pull 拆分为两个单独的步骤:git fetch,然后是 git merge(默认)或 git rebase(通常是正确的方法,但 不是 默认方法),也许这种两步方法不会触发 Git 版本中的错误。 - torek
3个回答

44

对我来说解决方案是删除.git/index.lock文件。


10

问题出在我当前所在的目录没有权限,因此切换到正确的用户即可解决。虽然是简单的修复方法,但容易被忽视。


3
这通常是权限错误。在Linux上,您可以使用chown更改文件夹的所有者或切换到适当的用户。
在父文件夹中使用ls -la查看用户权限。如果确实是问题,您可以递归地chown文件夹。
如果我的包含存储库的文件夹名为happytimes,我的名字为daniel,我会执行以下操作:
sudo chown -R daniel:daniel happytimes

这个问题我也遇到过,当我在 GitHub 项目中执行 sudo cp -r "source" "target" 命令后出现了相同的情况。 - Robin Wieruch

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