Назад | Перейти на главную страницу

Git: пытается удалить локальную ветку, но в разрешении отказано из-за заблокированного файла

На моем сервере Linux было несколько веток git, которые я хотел удалить. я использовал git branch -D branche_name и удалил все эти ветки, кроме одной. Для этой ветки под названием feat/implement-h Я получаю сообщение об ошибке:

«Ошибка: невозможно заблокировать ref 'refs / Heads / feat / Implement-h': невозможно создать '/data/web/xxx/xxx/.git/refs/heads/feat/implement-h.lock': Permission denied» .

Недавно я получил доступ к этому серверу Linux, который использовался несколько лет, но раньше у меня не было доступа. Есть идеи, как удалить эту ветку?

Как говорит Халфгаар, это, вероятно, проблема с разрешениями. Я обнаружил, что файлы принадлежат root имеют тенденцию накапливаться в моих репозиториях git, хотя и очень медленно. В моем случае они часто бывают в

.git/objects

и, похоже, не вызывает там проблем. Однако если lock файл оказывается принадлежащим root это, очевидно, будет проблемой. Вы можете проверить наличие таких файлов с помощью

find ~/your/git/dir -group root -ls

Я предполагаю, что очень редко, когда Git выдает ошибку, информация о владельце может быть повреждена.