0

有一段时间我不在我的 github 帐户上推送代码。

今天我试着

git push -u origin master

我的命令提示符(Anaconda)要求我输入我的 github 用户名和密码

登录失败,使用 ctrl+c 取消基本凭证提示。

https://github.com/ ”的用户名:myusername

' https://myusername@github.com/ ' 的密码:

我输入了这些,然后提示回复:

致命:无法获得凭证存储锁:文件存在

我可以毫无问题地推送代码,但我希望不必每次都输入用户名和密码。

我做了一些搜索,发现我遇到的错误是在这个线程中突出显示的,其中建议该错误是由 git 配置中的多个credential.helper=代码行引起的。还建议通过仅保留其中一行来调整错误。

所以,通过输入

git 配置 -- 列表

我发现credential.helper=我的 .git/config 文件中有两行代码。
一个在系统配置文件中,一个在全局配置文件中

git config --list --system

credential.helper=经理

git config --list --global

credential.helper=存储

但是在我的 .git/config 文件中,我找不到任何以credential.helper=.

那么我在哪里可以找到这些行?

我应该删除其中一个credential.helper=store还是credential.helper=manager避免每次都输入我的凭据?

4

1 回答 1

2

您的主目录中有一个卡住的.git-credentials.lock文件。它可能包含您的明文密码,因此您应该将其删除。

git-credential-store

使用此帮助程序会将未加密的密码存储在磁盘上,仅受文件系统权限保护。如果这不是可接受的安全折衷方案,请尝试 git-credential-cache,或找到与您的操作系统提供的安全存储集成的帮助程序。

您应该坚持使用提供的操作系统manager

--show-origin您可以使用 的选项显示设置来自哪个文件git config

但是您也可以使用命令将其删除git config --unset --global credential.helper

于 2020-04-03T23:49:20.973 回答