通过git pull的用户名和密码

时间:2014-03-25 12:56:27

标签: scripting passwords username git-pull

有没有办法为git pull提供用户名和密码作为命令行参数?在svn中有类似的东西:

svn up --no-auth-cache --username $SVN_USER --password $SVN_PASSWORD

在git中有没有相当于这个?我无法在文件系统上存储凭据。

基本上,我有一个运行构建的脚本用于多个相关项目。由于脚本位于共享服务器上并且由不同的用户运行,因此我无法在服务器上存储凭据。我不想提示用户,因为脚本使用单个用户名/密码从多个SVN / GIT存储库中获取数据,因此我想通过脚本读取凭据一次,然后将它们传递给git pull或svn up命令

1 个答案:

答案 0 :(得分:0)

如果您使用的是HTTPS,则解决方案可能位于this answer

not 安全方式是在您提取的网址https://user:password@server.com/path/to/repo中包含凭据。显然,您的凭据最终是.git文件夹和/或日志文件中的纯文本。

安全的方法是配置"凭证助手"在git。然后,一旦他们被使用,它将记住凭证。它会将凭据安全地存储在计算机上,但如果您使用系统范围的配置,它们将适用于所有用户。例如,在Windows上使用msysgit我会使用wincred帮助程序:git config --system credential.helper wincred。我的理解是--system为所有存储库和系统上的所有用户打开了凭证帮助程序,因此您必须确定这对您的服务器是否正常。免责声明:我之前只使用过--global。

我还没有找到适合你情况的更好选择,但是一些真正的git guru可能会插话。