Удалить .git/index.lock ': разрешение отклонено - программирование

Удалить .git/index.lock ': разрешение отклонено

Я полностью зациклился на том, почему мой git полностью заблокировал меня. У меня есть ноутбук, который я использую на работе, и когда я дома. Для обеих учетных записей я широко использую git, и оба они расположены по разным путям. Сегодня я пришел на работу, и я ничего не могу сделать, все, что я вижу, это:

/Applications/MAMP/htdocs/my_site/.git/index.lock': Permission denied

Для меня все, что касается меня, я могу удалить. Я попытался удалить ветку, проверить другую ветку, удалив файл index.lock(как это было предложено другими пользователями на сайтах). У меня только окно терминала открыто, никаких других возможных программ с использованием git (насколько я знаю и ничего не заметен в окне активности). Я перезагрузил компьютер прямо в свой рабочий счет и все равно не повезло. Как удалить эту блокировку?

4b9b3361

Ответ 1

Проверьте, какой пользователь владеет блокировкой git:

ls -la /Applications/MAMP/htdocs/my_site/.git/index.lock

Затем вы можете использовать sudo, чтобы удалить его.

Ответ 2

У меня была точно такая же проблема, когда я хотел зафиксировать свои изменения в git, и решил ее следующим образом:

  • Мне нужно было изменить группу моей папки .git и ее содержимое:

    sudo chown -R <owner>:<group>.git

  • необходимо изменить разрешение этой папки:

    sudo chmod -R 775.git

Ответ 3

После обновления xcode вам может быть предложено согласиться с новой лицензией.

git init

Соглашаясь с лицензией Xcode/iOS, требуются привилегии администратора, повторите запуск с правами root через sudo.

Когда вы это сделаете

sudo git init

вы получите пользователя root.git dir

drwxr-xr-x 10 root XXXX 340 25 Sep 12:40.git

Если вы вызываете другие команды git, которые создают файлы, эти файлы также создаются для пользователя root.

Измените разрешения или удалите .git, если он вам не нужен.

= > Никогда не звоните git с sudo!!! Если вас попросят просто вызвать git в пустом каталоге

mkdir foo

cd foo

sudo git init

Ответ 4

У меня возникла эта проблема, когда я запускаю следующую команду: sudo git fetch && git checkout<branch>

Обратите внимание, что второе sudo пропало. Выполнение следующего решило проблему: sudo git fetch && sudo git checkout<branch>

Вам не нужно менять владельца каталога .git при запуске sudo.

Ответ 5

У меня возникла та же проблема при попытке обновить подмодули моего репо:

$ git submodule update
fatal: Unable to create '.../.git/modules/deps/luajit/index.lock': 
   Permission denied
Unable to checkout '04dc64b558025e76a820f89a8e41840bf8269f32' in
   submodule path 'deps/luajit'

Кажется, проблема была в том, что подмодули принадлежали другому пользователю, поэтому я вернул себе право собственности:

cd .git/modules/
chown -R user.group *

Ответ 6

Моя компьютерная система Windows. Когда я открываю WSL удаленный vscode и локальный vscode по этому пути, система показывает эту ошибку. Я закрываю удаленный vscode WSL и решаю эту проблему.

Ответ 7

Проверка разрешения, безусловно, путь. Я столкнулся с этой ошибкой, когда вошел в систему с неправильной учетной записью. Итак, ответ из моего личного опыта:

Msgstr "Убедитесь, что вы вошли в систему с правильной учетной записью".