如何使用Python从Github克隆私有存储库?
我找到了一些有关git和python的好资料,但是我才几天前开始学习Python。
我找到了一些有关git和python的好资料,但是我才几天前开始学习Python。
libgit2
,它可以将 git 用作共享库。更有帮助的是它的 Python 绑定库 pygit
。
要使用 pygit
克隆一个仓库,可以这样做:
>>> from pygit2 import clone_repository
>>> repo_url = 'git://github.com/libgit2/pygit2.git'
>>> repo_path = '/path/to/create/repository'
>>> repo = clone_repository(repo_url, repo_path) # Clones a non-bare repository
>>> repo = clone_repository(repo_url, repo_path, bare=True) # Clones a bare repository
由于该存储库是私有的,因此还没有答案。我通常的做法是创建一个专门用于脚本的SSH密钥对,并将公钥上传到GitHub(或您正在使用的任何托管服务)。
您可以通过运行以下命令让脚本使用私钥:
GIT_SSH_COMMAND='ssh -i private_key_file' git clone git@github.com:user/repo.git
import pygit2
repo_url = 'git://github.com/libgit2/pygit2.git'
repo_path = '/path/to/create/repository'
callbacks = pygit2.RemoteCallbacks(pygit2.UserPass("<your-personal-token>", 'x-oauth-basic'))
repo = pygit2.clone_repository(repo_url, repo_path, callbacks=callbacks)