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

我正在与Git合作,将更改推送到通过HTTP / WebDAV共享的存储库,并且Git提示输入访问HTTP远程服务器的每个操作的密码。 有什么方法可以让Git缓存密码/让远程服务器不提示我吗?

远程Web服务器应为Apache,如有必要,可以重新配置。

millimoose asked 2019-10-08T04:40:55Z
3个解决方案
61 votes

方法是使用此Git文档的步骤3中概述的〜/ .netrc:

然后,将以下内容添加到$ HOME / .netrc中(您可以不这样做,但是将   要求您多次输入密码):

wincred

...并设置权限:

wincred

更新:

从git 1.7.9开始,似乎要走的路是本机凭据帮助器API。 Git带有一个纯文本凭证存储区,或者一个不太方便但更安全的临时凭证缓存。 也可以使用第三方凭据助手。 到目前为止,我知道本机Windows凭据存储的助手,并且该助手与OS X钥匙串集成。 (由Homebrew发行的Git版本与其他OS X Git发行版一样都有二进制文件。Github还提供了独立的二进制文件。)

通常,一次建立凭据助手就足够了:

git config --global credential.helper wincred

或代替wincred,使用适合您平台的任何帮助程序。 (如果帮助程序可执行文件的名称是git-credential-wincred,则您将选项设置为的值将是wincred,等等。)

凭据帮助者还支持需要为同一主机上的不同存储库提供单独的凭据集。

millimoose answered 2019-10-08T04:41:57Z
29 votes

在仓库中运行以下命令:

git config credential.helper store

然后一次推送到服务器:

git push

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

从本指南中获取的说明在这里。

Kshitiz Sharma answered 2019-10-08T04:42:42Z
17 votes

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

$ git config remote.origin.url = http://username:password@origin_link.com/repository.git
Oleg answered 2019-10-08T04:43:09Z
translate from https://stackoverflow.com:/questions/2233590/is-there-a-way-to-make-git-remember-the-password-for-webdav-remotes