Scripting 传递git pull的用户名和密码

Scripting 传递git pull的用户名和密码,scripting,passwords,git-pull,Scripting,Passwords,Git Pull,有没有办法为git pull提供用户名和密码作为命令行参数?在svn中,有如下内容: svn up --no-auth-cache --username $SVN_USER --password $SVN_PASSWORD 在git中有类似的东西吗?我无法将凭据存储在文件系统上 基本上,我有一个为多个相关项目运行构建的脚本。由于脚本位于共享服务器上,并且将由不同的用户运行,因此我无法将凭据存储在服务器上。我不想提示用户,因为脚本使用单个用户名/密码从多个SVN/GIT存储库获取数据,所以我想通

有没有办法为git pull提供用户名和密码作为命令行参数?在svn中,有如下内容:

svn up --no-auth-cache --username $SVN_USER --password $SVN_PASSWORD
在git中有类似的东西吗?我无法将凭据存储在文件系统上


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

不安全的方法是在您正在提取的url中包含凭据,
https://user:password@server.com/path/to/repo
。显然,您的凭据最终会在.git文件夹和/或日志文件中显示为纯文本

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


对于您的情况,我还没有看到更好的选择,但是一些真正的git专家可能会插话。

不幸的是,我不想将密码存储在任何地方,因此,当作为其他用户登录到计算机时,脚本必须运行
git pull
,但不允许这些用户手动运行该命令?对于任何程序,包括SVN,这听起来都不可能安全地实现。你找到办法了吗。所有构建2都有一个操作系统用户。不同的物理用户不应该有权访问其他用户的git帐户,如果使用凭证助手,就会发生这种情况。我将发布我的解决方法。