GitPython 克隆存储库错误

GitPython Clone repository error

我想使用参数(--recursive-b <branch>)克隆 git 存储库,但出现以下错误。

Traceback (most recent call last):
  File "./git-clone.py", line 15, in <module>
    r = git.Repo.clone(repo_dir, b=branch, recursive=git_url)
TypeError: unbound method clone() must be called with Repo instance as first argument (got str instance instead)

这是我的代码:

#!/usr/bin/env python

import git
import os
import shutil


git_url = "<url>..."
repo_dir = "/home_local/user/git-repository"
branch = "branch"

if os.path.exists(repo_dir):
    shutil.rmtree(repo_dir)

r = git.Repo.clone(repo_dir, b=branch, recursive=git_url)

如果我用 git.Repo.clone_from 替换 git.Repo.clone 它工作正常但是这个命令不接受我的参数。

尝试:

r = git.Repo.clone_from(git_url, repo_dir, branch=branch, recursive=True)

第一个参数是您从哪里克隆(远程存储库)。第二个参数是您要存储克隆的位置。所有其他参数都传递给 git-clone 命令。例如 --branch="branch"--recursive。您可能应该坚持使用长参数名称而不是缩写。由于递归标志存在或不存在,它的值只能是 True 或 False。