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

Sab*_*han 3 python git

我有一个python脚本(我只知道Python的基础知识),它在循环中检出多个git项目.我可以在Python脚本中指定用户名和密码,如 - 如何Git用户名和密码中所述

但我有一种组织规则,密码必须有'@'字符,因此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.

aro*_*ire 6

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

就像是:

"https://user:pass1%40pass2@GIT_SERVER_URL"+ '/'+ self.project_group + '/' + self.name + '.git'
Run Code Online (Sandbox Code Playgroud)