致命:无法创建'refs / heads / master.lock':文件存在致命错误: - 在提交提交时出现此错误

时间:2011-12-14 06:00:01

标签: git git-push

我在推送提交时遇到以下错误

$ 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服务器中。

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

4 个答案:

答案 0 :(得分:16)

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

的Linux

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

del .git\refs\heads\master.lock

答案 1 :(得分:7)

这是因为其他一些git操作可能已经在中间死亡(甚至仍然在罕见的情况下运行)并且留下了一个锁定文件。一旦您发现服务器上没有运行与git相关的进程,为了安全起见,您可以删除该文件并尝试再次推送。

答案 2 :(得分:1)

对于那些因此问题而来到此页面但无法使用已接受的解决方案的人,因为该文件不存在而无法删除,因此可能是权限问题。

This SO question应该会有所帮助。在我的情况下,我一直在不同终端上使用root和普通用户帐户,并且必须以root身份完成某些操作并导致链接答案中建议的问题。解决方法是将我的git目录中的权限修复回用户。

答案 3 :(得分:-3)

我在提交之前使用了'sudo'并且它有效。即“sudo git commit -am'commit message'”