git index.lock Файл существует, когда я пытаюсь зафиксировать, но не могу удалить файл - PullRequest
166 голосов
/ 14 февраля 2012

Когда я делаю 'git commit', я получаю следующее:

fatal: Unable to create 'project_path/.git/index.lock': File exists.

Однако, когда я делаю ls project_path/.git/index.lock, он говорит, что файл не существует. Есть мысли о том, что мне делать? Я также заметил, что project_path / .git принадлежит root, но не уверен, что это как-то связано с проблемой, с которой я сталкиваюсь.

git версия 1.7.5.4

edit: Кажется, что проблема, скорее всего, была в другом процессе, который я выполнял, который писал (без моего ведома) в каталог проекта. Я перезапустил свою машину, и у меня не возникло проблем с фиксацией.

Ответы [ 31 ]

276 голосов
/ 13 июля 2012

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

В linux / unix / gitbash / cygwin попробуйте

rm -f .git/index.lock

В командной строке Windows попробуйте:

del .git\index.lock

31 голосов
/ 04 октября 2016

Для Windows:

  • На консоли PowerShell, открытой как администратор, попробуйте
> rm -Force ./.git/index.lock
  • Если это не сработает, вы должны убить все процессы git.exe
> taskkill /F /IM git.exe
SUCCESS: The process "git.exe" with PID 20448 has been terminated.
SUCCESS: The process "git.exe" with PID 11312 has been terminated.
SUCCESS: The process "git.exe" with PID 23868 has been terminated.
SUCCESS: The process "git.exe" with PID 27496 has been terminated.
SUCCESS: The process "git.exe" with PID 33480 has been terminated.
SUCCESS: The process "git.exe" with PID 28036 has been terminated.
> rm -Force ./.git/index.lock
19 голосов
/ 13 мая 2015

На платформе Windows, работающей с Visual Studio 2015 RC (v4.6.00057) в сочетании с SourceTree (v1.6.14.0), эта ошибка также будет отображаться.

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

  1. Перейдите: Инструменты> Параметры> Контроль источника
  2. Выберите плагин управления источником тока как: Нет
9 голосов
/ 15 апреля 2013
  1. проверить, работает ли git (ps -ef | grep git)
  2. , если нет, удалить заблокированный файл
  3. , если да, сначала убить процесс git.
8 голосов
/ 10 сентября 2018

1001 * попробовать *

rm -f ./.git/index.lock

если у вас нет другого запущенного процесса git, просто удалите файл index.lock соответствующего проекта.

7 голосов
/ 31 декабря 2015

Это происходит, когда вы отменяете вытягивание из начала координат в середине.

так что вы можете вручную удалить файл index.lock из вашего каталога .git.

rm -f ./.git/index.lock

перейдите в каталог вашего проекта и выполните эту команду.

5 голосов
/ 20 июня 2013

Вероятно (это случилось со мной), ls команда говорит: его не существует , поскольку текущий пользователь не имеет прав доступа к этому каталогу или файлу.

Снимите блокировку и убедитесь, что вы выполняете git с нужным пользователем , чтобы избежать проблем с правами доступа.

Если вы используете GNU / Linux с командой sudo :

sudo rm project_path / .git / index.lock

5 голосов
/ 16 февраля 2012

Только что была эта проблема ... Gitbox был виноват.Поэтому, возможно, у вас был запущен графический интерфейс, который вызывал проблемы.

4 голосов
/ 02 декабря 2016

хорошо, я решил эту проблему.

  1. Закройте все окна, которые могут повлиять на этот файл .git / index.lock
  2. Удалить файл .git / index.lock.
  3. Откройте редактор командной строки и перейдите в папку с файлами git.

(Если файл создается, просто перейдя с компакт-диска в это место, проблема заключается в вашем редакторе. Закройте редактор. Не используйте этот редактор снова для этой задачи. Откройте редактор другого типа - оболочку Windows Power или просто cmd. Теперь вы можете использовать команды git для продолжения)

4 голосов
/ 13 июня 2018

del .git\index.lock работал для меня.

Я столкнулся с этой проблемой при извлечении новой ветки из главной ветки.

Оформление заказа легко происходит после удаления файла index.lock.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...