有没有办法让git记住WebDAV遥控器的密码?

我正在使用Git将更改推送到通过HTTP / WebDAV共享的存储库,并且Git会为每个访问HTTP远程的操作提示input密码。 有没有办法让Gitcaching密码/让远程服务器不提示我?

远程networking服务器应该是一个Apache,如有必要可以重新configuration。

方法是使用〜/ .netrc,如本Git文档的第3步所述:

然后,将以下内容添加到您的$ HOME / .netrc(您可以不用,但会被要求input您的密码很多次):

machine <servername> login <username> password <password> 

…并设置权限:

 chmod 600 ~/.netrc 

更新:

从git 1.7.9开始,似乎要走的路是本地凭证助手API。 Git带有明文凭证存储或不太方便但更安全的临时凭证caching 。 也可以使用第三方凭证助手。 到目前为止,我知道本机Windows Credential Store的助手 ,以及与OS X钥匙串集成 的助手 。 (Homebrew提供的Git版本有一个二进制文件,其他的OS X Git版本也可以,Github也提供了一个独立的二进制文件 。)

一般来说,build立一个证书助手应该足够了:

 git config --global credential.helper wincred 

或者,您可以使用适合您平台的辅助工具。 (如果助手可执行文件的名称是git-credential-wincred ,则设置该选项的值将被wincred等)

凭证帮助程序还支持在同一主机上为不同存储库提供单独的凭据组。

在你的仓库里运行这个命令:

 git config credential.helper store 

然后推送到服务器一次:

 git push 

您用于推送到服务器的凭据将保存在~/.git-credentials

这里指导从这个指南。

为什么你不能在远程URL使用密码?

 $ git config remote.origin.url = http://username:password@origin_link.com/repository.git