J'ai eu du mal à trouver où se trouvait le fichier de verrouillage. Sur Linux, il suffit d'utiliser strace
, mais n'oubliez pas de suivre les processus enfants avec l'option -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
Processus 8269 attaché
[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 (Aucun fichier ou dossier de ce type)
fatal: impossible d'obtenir le verrou de stockage des identifiants: Aucun fichier ou dossier de ce type
[pid 8269] +++ sortie avec 128 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=8269, si_status=128, si_utime=0, si_stime=0} ---
+++ sortie avec 128 ++
Le dernier fichier que le programme a essayé d'ouvrir avant d'afficher l'erreur est le fichier de verrouillage. Dans mon cas, c'est ~/mystore.lock
.
5 votes
J'ai trouvé qu'il y a un fichier
/c/Users/USERNAME/.git-credentials.lock
- mais quand je le supprime, je reçois une erreur d'assertion la prochaine fois que j'exécute git, et il y a un nouveau fichier de verrouillage. Ce qui conduit à une nouvelle erreur "lock: File exists". J'ai également trouvé que j'avais deux paramètres (différents) pourcredential.store
, un dans mon répertoire personnel, et un autre dans/C/Program\ Files/Git/mingw64/etc/gitconfig
. Supprimer ce dernier n'a rien changé, même sigit config -l
ne montre maintenant qu'un seul paramètre. Donc pour moi, ce problème reste un mystère. J'ai trouvé ceci: github.com/git-for-windows/git/issues/7661 votes
Cela m'est arrivé après avoir "annulé" un git add ou commit. Si vous appuyez sur CTRL+C dans git bash.