我严格遵守了这些说明,包括关于密码缓存的部分。看起来指令是错误的,因为每次我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

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


当前回答

类似的错误是'credential-wincred'不是git命令

那些公认的、流行的答案现在已经过时了。

Wincred用于git-credential-winstore项目,该项目已不再维护。 它被微软开源维护的Git-Credential-Manager-for-Windows所取代。

从上面的链接下载zip文件,并提取内容到

\cygwin\usr\libexec\git-core

(或\cygwin64\usr\libexec\git-core)

然后启用它(通过设置全局的.gitconfig) -执行:

git config --global credential.helper manager

如何使用

不需要进一步配置。 当需要凭据时,它[自动]工作。 例如,当推送到Azure DevOps时,它会打开一个窗口并初始化oauth2流以获取您的令牌。

ref:

https://github.com/babun/babun/issues/318 https://github.com/Microsoft/Git-Credential-Manager-for-Windows#installation-in-an-msys2-environment

其他回答

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

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

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

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

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

现在有一种更简单的方法来设置Git密码缓存,只需双击Windows上的一个小exe即可。该程序仍然基于投票最多的答案所提到的git-credential-winstore,尽管该项目已经从GitHub移动到http://gitcredentialstore.codeplex.com/

你可以从这篇博客上下载exe(和Mac的二进制文件):https://github.com/blog/1104-credential-caching-for-wrist-friendly-git-usage

对于git版本>=1.7.10(使用git——version检查),使用以下方法(参考):

窗口:

git config --global credential.helper wincred

Mac:

git config --global credential.helper osxkeychain

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

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