Fatal: невозможно создать 'refs/heads/master.lock': файл существует фатально: - получение этой ошибки при нажатии коммитов

Я получаю следующую ошибку при нажатии фиксации

$ 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 сервере.

В чем причина этой проблемы? Если я удалю этот файл с сервера, он решит проблему, если файл существует?

Ответы

Ответ 1

Вам нужно удалить существующий файл .lock и попытаться нажать,

Linux

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

Окна

del .git\refs\heads\master.lock

Ответ 2

Это связано с тем, что некоторая другая операция git могла погибнуть (или даже все еще запущена в редкой) в середине и оставила файл блокировки. Как только вы увидите, что на сервере не работает процесс git, чтобы быть в безопасности, вы можете удалить файл и попытаться нажать еще раз.

Ответ 3

Для тех, кто приходит на эту страницу с этой проблемой, но не может использовать принятое решение, потому что файл не существует для удаления, вероятно, это проблема с правами доступа.

Этот вопрос должен быть полезен. В моем случае я работал с корнем и обычной учетной записью пользователя на разных терминалах и, должно быть, сделал что-то как root, и вызвал такие проблемы, как предлагается в связанных ответах. Решение заключалось в том, чтобы установить разрешения в моем каталоге git обратно пользователю.

Ответ 4

Я только что использовал 'sudo' перед моей фиксацией, и это сработало. То есть "sudo git commit -am'commit message '"