使用HTTPS和gitpython克隆私人仓库

时间:2016-04-01 14:23:09

标签: python git gitpython

我正在使用gitpython通过HTTPS克隆git存储库。如果项目是私人仓库,它将提示输入用户名和密码。如何通过pythonically与提示进行交互以传递用户名和密码变量?

from git import Repo

HTTPS_REMOTE_URL = 'https://github.com/username/private-project'
DEST_NAME = 'https-cloned-private-project'
cloned_repo = Repo.clone_from(HTTPS_REMOTE_URL, DEST_NAME)

运行此代码的输出:

$ python example.py
Username for 'https://github.com': example
Password for 'https://example@github.com': 

我知道可以在网址中包含用户名和密码:

HTTPS_REMOTE_URL = 'https://username:password@github.com/username/private-project'

但是,如果这是私人回购,我无法提前知道。

1 个答案:

答案 0 :(得分:4)

当使用github访问令牌而不是用户名和密码时,它对我有用,其中可能需要2FA:

HTTPS_REMOTE_URL = 'https://<access_token>:x-oauth-basic@github.com/username/private-project'