我需要能够将来自我的git凭据添加到我的bash脚本中,但是我不知道如何做到这一点。
git clone https://xxxxxxx会问我的用户名和密码。
如何在bash脚本中传递这些内容?
如有任何指示,我们将不胜感激。
发布于 2018-12-24 21:51:38
对于基本HTTP身份验证,您可以:
git克隆http://USERNAME:PASSWORD@some_git_server.com/project.git
WARN这是不安全的:当您使用远程存储库时,使用ps或top实用程序的计算机上的另一个用户可以看到具有凭据的url。
$ git配置--全局克隆存储$ git credential.helper http://some_git_server.com/project.git用户名'http://some_git_server.com':Password for 'https://USERNAME@some_git_server.com':
~/.netrc:cat >>~/.netrc <
发布于 2018-12-24 21:59:29
您仍然可以将用户名和密码传入git clone的URL
git clone https://username:password@github.com/username/repository.git至于使用$2脚本,您可以传递用户名bash和密码bash
git clone https://$1:$2@github.com/username/repository.git然后使用以下命令调用脚本:
./script.sh username password此外,去掉密码可能更安全,只包含用户名:
git clone https://$1@github.com/username/repository.git因为带有密码的命令将记录在您的bash历史记录中。但是,您可以通过在命令前添加一个空格来避免这种情况。
您还可以使用How do I parse command line arguments in Bash?以更好的方式使用命令行参数。
另外,在用户名和密码中使用URL Encoding作为特殊字符时也要小心。一个很好的例子是使用%20而不是@,因为URLS需要对标准字符集之外的字符使用标准ASCII码。
发布于 2018-12-24 21:53:27
1)这可能会帮助你add credentials git
2)我目前在gitlab工作,我把它和jenkins放在一个容器里,不管怎么说,为了做克隆,我这样做:http://<user_gitlab>@ip_gitlab_server/example.git
我希望我能帮到你
https://stackoverflow.com/questions/53914241
复制相似问题