是否有办法为git pull提供用户名和密码作为命令行参数?在SVN中,有这样的内容:
svn up --no-auth-cache --username $SVN_USER --password $SVN_PASSWORD
在git中有类似的吗?我无法在文件系统中存储凭据。
基本上,我有一个脚本运行构建多个相关项目。由于脚本位于共享服务器上,并且将由不同的用户运行,因此我无法在服务器上存储凭据。我不想提示用户,因为脚本使用单个用户名/pass从多个SVN/GIT存储库获取数据,所以我想通过脚本读取一次凭据,然后将它们传递给GIT pull或SVN up命令
如果您正在使用HTTPS,解决方案可能在以下答案中:
not安全的方法是在您提取的url https://user:password@server.com/path/to/repo
中包含凭据。显然,您的凭证最终以纯文本形式出现在.git文件夹和/或日志文件中。
安全的方法是在git中配置一个"凭据助手"。然后,一旦凭证被使用,它就会记住它们。它将在机器上安全地存储凭据,但是如果使用系统范围的配置,它们将应用于所有用户。例如,对于Windows上的msysgit,我将使用wind帮助器:git config --system credential.helper wincred
。我的理解是,--system
为系统上的所有存储库和所有用户打开凭据助手,因此您必须决定这是否适合您的服务器。免责声明:我以前只使用过——global
对于你的情况,我没有更好的选择,但是一些真正的git大师可能会加入进来。