Tôi đã có một thời gian khó khăn để tìm ra nơi mà các tập tin khóa là. Trên Linux, chỉ cần sử dụng strace
, nhưng đừng quên làm theo tiến trình con với các tùy chọn -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 ++
Các tập tin cuối cùng mà chương trình đã cố gắng để mở trước khi in lỗi là file khóa. Trong trường hợp của tôi, đó là ~/mystore.lock
.
Tôi thấy rằng có một tệp '/ c/Users/USERNAME/.git-credentials.lock' - nhưng khi tôi xóa nó, tôi nhận được một lỗi xác nhận lần sau khi tôi chạy git, và có một tệp khóa mới. Điều này dẫn đến lỗi "khóa: Tệp tồn tại" mới. Tôi cũng thấy rằng tôi có hai cài đặt (khác biệt) cho 'credential.store', một trong thư mục chính của tôi và một thư mục khác trong'/C/Program \ Files/Git/mingw64/etc/gitconfig'. Loại bỏ sau này không thay đổi gì cả, mặc dù 'git config -l' bây giờ chỉ hiển thị một thiết lập. Vì vậy, với tôi vấn đề này vẫn còn là một bí ẩn. Tôi thấy điều này: https://github.com/git-for-windows/git/issues/766 –
điều này xảy ra với tôi sau khi "hủy" một git thêm hoặc cam kết. nếu bạn nhấn CTRL + C tại git bash. –