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

时间:2010-02-10 00:35:55

标签: git passwords

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

远程网络服务器应该是Apache,如有必要,可以重新配置。

3 个答案:

答案 0 :(得分:61)

方法是使用this Git documentation第3步中概述的〜/ .netrc:

  

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

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

...并设置权限:

chmod 600 ~/.netrc

更新

从git 1.7.9开始,似乎可以采用原生凭证助手API。 Git带有明文credential store或不太方便但更安全的临时credential cache。也可以使用第三方凭证助手。到目前为止,我知道a helper for the native Windows Credential Storeone that integrates with the OS X keychain。 (Homebrew发布的Git版本有一个二进制文件,就像其他OS X Git发行版一样.Github还提供standalone binary。)

通常,设置一次凭证助手应该足够了:

git config --global credential.helper wincred

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

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

答案 1 :(得分:29)

在您的仓库中运行此命令:

git config credential.helper store

然后推送到服务器一次:

git push

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

本指南here中的说明。

答案 2 :(得分:17)

为什么不能在远程网址中使用密码?

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