我严格遵守了这些说明,包括关于密码缓存的部分。看起来指令是错误的,因为每次我git push origin master都会得到这个错误:

git: 'credential-cache' is not a git command. See 'get --help'.

... 这时我必须输入我的用户名和密码。这样做之后,我再次看到相同的错误消息,然后是git push的输出。

下面是我的.gitconfig文件的内容:

[user]
    name = myusername
    email = myusername@myemaildomain.com
[credential]
    helper = cache

要清楚,在我安装Git并运行Git Bash后,下面是我输入的内容:

git config --global user.name "myusername"
git config --global user.email "myusername@myemaildomain.com"
git config --global credential.helper cache

请帮助。这太令人沮丧了!


当前回答

我刚刚真的经历了这个!

下载Git Credential Manager Core并安装:https://github.com/microsoft/Git-Credential-Manager-Core#download-and-install 进入GitHub上的帐户设置>电子邮件。你应该会看到这样的东西: 突出显示的电子邮件是系统生成的,以保持您的私人电子邮件私密性。现在复制它,并在下一步中使用它 配置git:

 git config --global user.name "yourusername"
 git config --global user.email "1234567+yourgithubusername@users.noreply.github.com"
 git config --global credential.helper cache

现在,git命令应该可以再次工作了。

小提示:我使用的是Linux Mint。YMMV

附加说明:在Debian版本的Git凭证管理器核心v 2.0.567中有一个bug。请在新版本发布之前安装v2.0.474。

其他回答

在.gitconfig的[credential]部分中有三个不同的helper=条目,其中一个是空的。删除另外两个并保留helper=wincred为我解决了这个问题。

BTW:我不知道为什么,但我没有立即找到我的.gitconfig。然后我在c:\ users \username中找到了它

在我的案例中,这个命令解决了这个问题:

git config --global credential.helper manager-core --replace-all

使用新的网络核心凭据管理器。

另一个有效的解决方法是:

1-进入控制面板,像这样添加github.com的凭据:

2-进入CMD并输入这些命令:

a- cd %localappdata%\Atlassian\SourceTree\git_local\mingw32\bin\ B - git.exe配置——编辑——系统 C -正确的最后一行: 助手=经理 d-保存新的配置文件,点击CTRL+C,然后输入:wq,然后按Enter

这对我来说太完美了!

为了让其他人知道这个问题,我在Ubuntu中也遇到了同样的问题(即我的密码没有缓存,尽管已经正确地设置了选项,并且得到了错误git: '凭据-缓存'不是git命令),直到我发现这个功能只在git 1.7.9及以上版本中可用。

Ubuntu的旧版本(Natty;我是一个顽固的Gnome 2用户)回购中的版本是git版本1.7.4.1。我使用以下PPA进行升级: https://launchpad.net/~git-core/+archive/ppa

在旧的Ubuntu Linux系统上:

git config --global credential.helper store