【问题标题】:fatal: unable to create 'refs/heads/master.lock': File exists fatal: - Getting this error while pushing the commits致命:无法创建“refs/heads/master.lock”:文件存在致命:-推送提交时出现此错误
【发布时间】:2012-01-19 23:14:22
【问题描述】:

推送提交时出现以下错误

$ git push origin master
fatal: unable to create 'refs/heads/master.lock': File exists fatal:
The remote end hung up unexpectedly

我想从我的本地机器上删除锁定文件 (refs/heads/master.lock)。但是这个文件不可用。我认为这个文件在 git 服务器中。

这个问题的根源是什么?如果我从服务器中删除这个文件,如果文件存在,它会解决问题吗?

【问题讨论】:

  • 答案真的有用吗?根据您的问题,文件不存在,那么您是如何删除不存在的文件的?

标签: git git-push


【解决方案1】:

您需要删除现有的.lock文件并尝试推送,

Linux

rm -f .git/refs/heads/master.lock

窗口

del .git\refs\heads\master.lock

【讨论】:

  • 应该是rm -f .git/refs/heads/master.lock
【解决方案2】:

这是因为其他一些 git 操作可能已经在中间死掉了(或者甚至仍然在罕见地运行)并留下了一个锁定文件。一旦你看到服务器上没有运行 git 相关进程,为了安全起见,你可以删除文件并再次尝试推送。

【讨论】:

  • 如何删除?
【解决方案3】:

对于那些带着这个问题来到这个页面但因为文件不存在而无法使用被接受的解决方案的人来说,这可能是一个权限问题。

This SO question 应该会有所帮助。就我而言,我一直在不同终端上同时使用 root 和普通用户帐户,并且必须以 root 身份做了一些事情,并导致了链接答案中建议的问题。解决方案是将我的 git 目录中的权限修复给用户。

【讨论】:

    【解决方案4】:

    我只是在提交之前使用了“sudo”,它起作用了。 IE。 "sudo git commit -am'提交消息'"

    【讨论】:

      猜你喜欢
      • 2016-09-02
      • 2019-02-18
      • 2019-10-03
      • 2022-08-15
      • 2013-10-07
      • 2012-08-04
      • 2023-04-08
      • 2018-07-24
      • 2013-01-05
      相关资源
      最近更新 更多