有没有办法让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