簡體   English   中英

使用腳本克隆私有 Github 存儲庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM