2012-08-07 4 views
14

У меня постоянная проблема с одним из моих репозиториев git. Я получаю следующее сообщение об ошибке:GIT: /.git/index.lock ': существует файл

fatal: Unable to create 'v:/path/to/files/.git/index.lock': File exists. 

    If no other git process is currently running, this probably means a 
    git process crashed in this repository earlier. Make sure no other git 
    process is running and remove the file manually to continue. 

Я пробовал: ет -f ./.git/index.lock в соответствии с другим потоком на StackOverflow, но я получаю эту ошибку каждый раз, когда: ет: не может разъединить `./.git/index.lock ': Permission denied

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

Любые идеи, как обойти это?

Другая вещь, чтобы отметить это мерзавец репо очень медленно, когда я иногда получить совершить в нем (это позволяет мне каждые 10 попыток, или около того)

Благодарности

+0

Это работает для меня http://stackoverflow.com/questions/17916339/error-in-deleting-addind-file-from-appharbor-using-git-unable-to-create-f-git – Shailesh

+0

У вас есть права доступа root или суперпользователя к используемой системе? Другими словами, вы владеете компьютером или находитесь на общедоступном компьютере, например, в кампусе? –

+0

Эти команды предназначены для систем unix и osx. вы можете перейти в файл index.lock в проводнике и удалить его. если вы не видите папку .git. вам нужно сначала установить скрытые файлы show в вашем менеджере файлов файлов. – Jinxi

ответ

3

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

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

+7

не использовать это не для меня ... sry – Jinxi

24

Sudo команду:

sudo rm -f ./.git/index.lock 

Обе ошибки указывают, что index.lock принадлежит другому пользователю. Запустите rm в качестве суперпользователя, затем повторите попытку. Вы могли бы также рассмотреть вопрос о создании core.sharedRepository в true, если это, на самом деле, в случае с репо:

core.sharedRepository

When group (or true), the repository is made shareable between several users in a group (making sure all the files and objects are group-writable).

When all (or world or everybody), the repository will be readable by all users, additionally to being group-shareable. When umask (or false), git will use permissions reported by umask(2). When 0xxx, where 0xxx is an octal number, files in the repository will have this mode value. 0xxx will override user's umask value (whereas the other options will only override requested parts of the user's umask value). Examples: 0660 will make the repo read/write-able for the owner and group, but inaccessible to others (equivalent to group unless umask is e.g. 0022). 0640 is a repository that is group-readable but not group-writable.

See git-init(1).

False by default.

+0

Спасибо, я попытался sudo, я получил это: sh: sudo: команда не найдена. Также я не знаю, как войти в систему как суперпользователь, я только начал использовать git на этой неделе. – sluggerdog

+0

У меня все еще есть проблемы с этим, каждый день, когда я пытаюсь получить ошибку index.lock. Я все еще получаю sh: sudo: команда не найдена и не может вручную удалить файл, всегда разрешен отказ. Есть идеи? Благодаря! – sluggerdog

+1

@sluggerdog В какой операционной системе вы работаете? Кроме того, как вы выполняете команды git? – Christopher

0

Вы также получите эту ошибку, если используете Aptanta Git и другие git-клиенты, например f.e. TortoiseGit. Поэтому вполне вероятно, что это другое программное обеспечение Git заблокировало ваш Git, что делает его недоступным для Aptana.

0

ли это:

ет index.lock

следует

мерзавца сброс

+1

Если OP не может удалить файл, как 'rm' поможет? Если вы просто предлагаете, чтобы OP не использовал флаг '-f', объясните, почему вы думаете, что это решение. –

-4

Если вы столкнулись с этой проблемой в окнах ниже шаги помогут вам .. Перейти к частности путь, т. е. v:/path/to/files/и включить отображение скрытых файлов, папок и драйверов. Затем сразу удалите файл index.lock внутри папки git (которая будет скрыта ранее)

+1

Вопрос в том, что он не может удалить файл, а не то, что он не может его удалить. –

-4

поиск index.lock в вашем локальном репозитории и удаление этого файла.

+3

OP говорит, что он не может удалить его. Итак, вы полагаете, что, возможно, он должен попытаться удалить его? Не полезно. –

0

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

На Linux/Unix/gitbash/Cygwin, попробуйте

rm -f .git/index.lock 

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

del .git\index.lock 

Надежда, что помогает, я нашел это решение здесь: fatal: Unable to create 'project_path/.git/index.lock': File exists.

+0

'rm' не будет работать, так как у них нет разрешений - поскольку он принадлежит кому-то другому - если вы не' sudo' команды. * «Я пробовал: rm -f ./.git/index.lock в соответствии с другим потоком в stackoverflow, но каждый раз получаю эту ошибку: rm: невозможно отменить связь. ./.git/index.lock: Permission denied" * –

+0

sudo необходим только для того, чтобы проект был кем-то другим, иначе он не будет. Так что это не обязательная часть. – krishnaisdinesh

+0

Он принадлежит кому-то другому, специально используемому Aptana. –

0

В git версии 2.11.0 папка .git может не содержать файл index.lock. Я выяснил, что папка .git/refs/heads/ содержит файл .lock и удаляет его с помощью команд rm.

Также не забудьте убить процесс, который может использовать git repo, используя ps -aef | grep git и kill -9.

Смежные вопросы