我能够推得很好,但我突然得到这个"致命"的消息
$ git push
fatal: unable to connect to cache daemon: Bad file descriptor
Username for 'https://github.com':
Password for 'https://myid@github.com':
fatal: unable to connect to cache daemon: Bad file descriptor
...
Run Code Online (Sandbox Code Playgroud)
为什么我突然得到这个消息?我该怎么办?
我不确定这可能会有所帮助,但是从现在到此问题发生之前
编码并成功在本地提交更改后,当我尝试将其推送到远程服务器时,我收到以下错误消息
$ git push
致命:无法连接到缓存守护程序:错误的文件描述符'https://github.com'的用户名:'https://myid0@github.com'的密码:致命:无法连接到缓存守护程序:错误的文件描述符致命:松散的物体8ce710b1c78658e066cd2309b12b7766d1be4920(存储在.git/objects/8c/e710b1c78658e066cd2309b12b7766d1be4920中)是致命的致命:远程端挂断意外致命:远程端挂断意外致命:写入错误:文件描述符错误
所以我备份了我所做的所有更改,删除了repo,从github克隆了repo,并对备份文件进行了一些更改,添加,提交和推送更改很好......但是这条消息仍然不会消失:(
Kev*_*ice 33
为我解决了这个问题:
sudo chown kev ~/.git-credential-cache/socket
Run Code Online (Sandbox Code Playgroud)
如果您不了解您的用户,请将kev替换为您的用户:
whoami
Run Code Online (Sandbox Code Playgroud)
谨防操纵~/.git-credential-cache/socket(和一样chown),因为自2014年以来一直在变化,正如Git 2.13(2017年第2季度)所承认的那样,
亚当·K·迪恩(Adam K Dean)在评论中还提到了path ~/.cache/git/credential/,它只需要向用户抛弃即可。
请参阅Devin Lehmacher()的commit 612c49e,commit 60759ba(2017年3月17日)和e7f136b(2017年3月13日)。(通过合并JUNIOÇ滨野- -在提交78cf8ef 3月24日2017)lehmacdj
gitster
凭证缓存:
XDG_CACHE_HOME用于套接字请
git-credential-cache遵循XDG基本路径规范默认。这增加了与其他应用程序的一致性,并有助于避免用户的主目录混乱。检查旧的套接字位置,
~/.git-credential-cache/并使用~/.git-credential-cache/socket该目录是否存在,而不是强迫以前使用git credential-cache过的用户迁移到新的XDG兼容位置。否则,请
$XDG_CACHE_HOME/git/credential/socket遵循XDG基本路径规范使用套接字。如果以后要缓存其他文件,
请使用子目录credential/,$XDG_CACHE_HOME/git/以明确套接字的用途。