J'ai eu du mal à trouver où se trouvait le fichier de verrouillage. Sur Linux, utilisez simplement 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
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 (Aucun fichier ou dossier de ce type)
fatal: impossible de verrouiller le stockage des informations d'identification : Aucun fichier ou dossier de ce type
[pid 8269] +++ sorti avec 128 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=8269, si_status=128, si_utime=0, si_stime=0} ---
+++ sorti 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 découvert qu'il y a un fichier
/c/Users/USERNAME/.git-credentials.lock
- mais lorsque je le supprime, j'obtiens une erreur d'assertion la prochaine fois que je lance git, et il y a un nouveau fichier de verrouillage. Ce qui conduit à une nouvelle erreur "lock: File exists". J'ai également découvert 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
. Enlever ce dernier n'a rien changé, même sigit config -l
ne montre désormais qu'un seul paramètre. Ainsi, ce problème reste un mystère pour moi. 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.