在尝试克隆不存在的远程仓库时防止 GitPython 询问凭据

Preventing GitPython from asking for credentials when trying to clone a non-existent remote repo

在下面的程序片段中,我从远程位置克隆了一个现有的存储库并且它工作正常。

然后我尝试克隆一个不存在的存储库,这次调用 git.Repo.clone_from() 从键盘请求名称和密码。

我的应用程序非常不希望在等待键盘输入时阻塞,因此如果回购不存在,我希望对 git.Repo.clone_from() 的调用抛出异常。

有什么方法可以导致这种情况发生,或者在我尝试克隆它之前以某种方式检测现有 URL 中是否存在 git 存储库?

import git, shutil

DIRECTORY = '/tmp/clone'


def clone(url):
    print(url)
    shutil.rmtree(DIRECTORY, ignore_errors=True)
    git.Repo.clone_from(url=url, to_path=DIRECTORY, b='master')


clone('https://github.com/ManiacalLabs/BiblioPixelAnimations.git/')
clone('https://github.com/ManiacalLabs/NONEXISTENT.git/')

输入空的用户名和密码应该可以解决问题

clone('https://:@github.com/ManiacalLabs/BiblioPixelAnimations.git/')
clone('https://:@github.com/ManiacalLabs/NONEXISTENT.git/')

注意github.com前有:@