Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用HTTPS和gitpython克隆私有回购_Python_Git_Gitpython - Fatal编程技术网

使用HTTPS和gitpython克隆私有回购

使用HTTPS和gitpython克隆私有回购,python,git,gitpython,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(HTT

我正在使用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': 
我知道可以在URL中包含用户名和密码:

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

然而,我无法提前知道这是否是私人回购

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


HTTPS\u REMOTE\u URL='HTTPS://:x-oauth-basic@github.com/用户名/私人项目“

此代码仅适用于公共回购!而不是私人的。错误:远程:找不到存储库。@TusharNiras实际上它确实独立于repo类型工作。如果回购协议不是你的,你需要收到邀请。@ViniciusMesel是对的。当github响应
错误:remote:Repository not found
时,它实际上是一个状态代码
404
表示回购不存在(显式解释),或者此用户无法访问此回购(隐式解释,因为github不应告诉您是否存在私有回购).我和@TusharNiras面临着同样的问题。我可以在我的机器上使用相同的命令克隆repo,但不能通过python脚本。