Подтвердить что ты не робот

Фатальный: невозможно получить блокировку хранилища учетных данных: файл существует

Я использую git -scm и пытаюсь нажать на репозиторий. Поступив таким образом, меня встретили следующим сообщением:

fatal: unable to get credential storage lock: File exists

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

4b9b3361

Ответ 1

У меня была такая же проблема сегодня. Оказалось, что у меня как-то было две конфигурации для credential.helper. Используйте git config --list, чтобы проверить, есть ли у вас несколько credential.helper = "XXX".

В моем случае у меня был credential.helper = manager в глобальной конфигурации и credential.helper = хранить в локальной конфигурации.

Я удалил локальный в path-to- git -project/.git/config и решил проблему.

Ответ 2

Сообщение об ошибке появляется из git credential-store (щелкните для страницы документации). Он указывает, что в настоящий момент запущен другой экземпляр программы хранения учетных данных и заблокировал файл, который (небезопасно, в текстовом формате) сохраняет ваш пароль.

Если никакой другой экземпляр git credential-store не выполняется, файл блокировки, без сомнения, оставлен после предыдущего запуска, и вы можете просто удалить его. К сожалению, программа не сообщит вам местоположение конкретного файла учетных данных (но см. Документацию для вероятных местоположений).

Ответ 3

попробуйте настроить помощник учетных данных без использования --global

git config credential.helper wincred

Ответ 4

Мне было трудно выяснить, где был файл блокировки. В Linux просто используйте strace, но не забывайте следить за дочерними процессами с помощью опции -f:

strace -f -eopen git credential-store --file=~/mystore store < creds
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libpcre.so.3", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/dev/null", O_RDWR)               = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
open("/home/g179531/.gitconfig", O_RDONLY) = 3
Process 8269 attached
[pid  8269] open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
[pid  8269] open("/lib/x86_64-linux-gnu/libpcre.so.3", O_RDONLY|O_CLOEXEC) = 3
[pid  8269] open("/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
[pid  8269] open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
[pid  8269] open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
[pid  8269] open("~/mystore.lock", O_RDWR|O_CREAT|O_EXCL, 0666) = -1 ENOENT (No such file or directory)
fatal: unable to get credential storage lock: No such file or directory
[pid  8269] +++ exited with 128 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=8269, si_status=128, si_utime=0, si_stime=0} ---
+++ exited with 128 ++

Последний файл, который программа пыталась открыть перед печатью ошибки, - это файл блокировки. В моем случае это ~/mystore.lock.