如何在python脚本中运行“git clone https://remote.git”时提供密码(有@)?

时间:2015-10-20 06:09:09

标签: python git

我有一个python脚本(我只知道Python的基础知识),它在循环中检出多个git项目。我可以在 - How to Git Username and password

中指定的Python脚本中指定用户名和密码

但我有一种组织规则,密码必须具有' @'因为@的存在,git开始将密码部分(在@之后)解释为URL的一部分。 Python字符串为 - "https://user:pass1@pass2@GIT_SERVER_URL"+ '/'+ self.project_group + '/' + self.name + '.git'

有没有办法解决这个问题?

git给出的错误是,由于密码中存在@,因此无法解析URL。

我可以通过在每个项目的命令提示符下输入密码手动结账项目,但要求是完全自动化的方式。我使用的是Windows 8.1和Python 2.7.10。

1 个答案:

答案 0 :(得分:6)

您可以使用 @ 的网址编码值:%40

类似的东西:

"https://user:pass1%40pass2@GIT_SERVER_URL"+ '/'+ self.project_group + '/' + self.name + '.git'