[英]Cloning a private Github repo using a script
如何使用 python 從 Github 克隆私有存儲庫?
我找到了一些關於 git 和 python 的好信息,但幾天前我開始學習 python。
只需使用subprocess.check_call運行git
命令:
import subprocess
subprocess.check_call(["git", "clone", ...])
有一個庫libgit2
,它使 git 可以用作共享庫,對您的事業更有幫助的是 python 綁定的pygit
。
要使用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
您可以在此處查看基於存儲庫的文檔
這是我的 2 美分,因為目前還沒有關於 repo 是私有的答案。 我通常這樣做的方法是為腳本創建一個特殊的 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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.