我正在使用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'
但是,如果这是私人回购,我无法提前知道。
答案 0 :(得分:4)
当使用github访问令牌而不是用户名和密码时,它对我有用,其中可能需要2FA:
HTTPS_REMOTE_URL = 'https://<access_token>:x-oauth-basic@github.com/username/private-project'