Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api 可以将GitHub存储库下载到本地计算机_Api_Github_Repository_Github Api - Fatal编程技术网

Api 可以将GitHub存储库下载到本地计算机

Api 可以将GitHub存储库下载到本地计算机,api,github,repository,github-api,Api,Github,Repository,Github Api,您好,朋友们,我刚刚开始使用GitHub,我只想知道使用GitHub Api或Api库(即python库“pygithub3”用于GitHub Api)可以将GitHub存储库下载到本地计算机上。如中所示,最简单的解决方案就是调用git clone #/usr/bin/env python #用于克隆用户正在监视的所有github repo的脚本 导入请求 导入json 导入子流程 #抓取所关注的repo的所有URL 用户='jharjono' r=请求。获取(“http://github.co

您好,朋友们,我刚刚开始使用GitHub,我只想知道使用GitHub Api或Api库(即python库“pygithub3”用于GitHub Api)可以将GitHub存储库下载到本地计算机上。

如中所示,最简单的解决方案就是调用git clone

#/usr/bin/env python
#用于克隆用户正在监视的所有github repo的脚本
导入请求
导入json
导入子流程
#抓取所关注的repo的所有URL
用户='jharjono'
r=请求。获取(“http://github.com/api/users/%s/subscriptions“%(用户))
repos=json.loads(r.content)
url=[repo['url']用于repo['repositories']]中的repo
#克隆它们
对于url中的url:
cmd='git clone'+url
pipe=subprocess.Popen(cmd,shell=True)
等一下
打印“已完成克隆%d个受关注的repos!”%(len(URL))
,它使用,将在找到的repo上调用git clone:

#/usr/bin/env python
导入pygithub3
gh=无
def聚集\u克隆\u URL(组织,无分支=真):
all_repos=gh.repos.list(用户=组织).all()
对于所有回购中的回购:
#不要打印作为分叉的回购协议的URL。
如果没有_分叉和回购分叉:
持续
收益率repo.clone\u url
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
gh=pygithub3.Github()
克隆URL=收集克隆URL(“gittip”)
对于克隆url中的url,请执行以下操作:
打印url
使用,您可以通过以下操作克隆所有存储库(包括fork和私有存储库):

import github3
import subprocess


g = github3.login('username', 'password')
for repo in g.iter_repos(type='all'):
    subprocess.call(['git', 'clone', repo.clone_url])
如果要克隆任意存储库,可以执行以下操作:

import github3
import subprocess


r = github3.repository('owner', 'repository_name')
subprocess.call(['git', 'clone', repo.clone_url])

pygithub3已经有一年多没有被积极开发了。我建议不要使用它,因为它没有维护,并且缺少GitHub从那时起对其API所做的大量添加。

我不明白显示GitHub API版本2的使用情况有何帮助。该版本已弃用,完全不相关。@sigmavirus24我已编辑了答案以使用V3 api。总体思路是一样的。第一个示例中的API url仍然非常错误。好的,那么您能为我推荐另一个用于GitHub API的python库吗???谢谢你的回答:)@user3321823我在我的示例中建议使用github3.py。是的,但在你的回答中,你写道pygithub3尚未得到积极开发,这就是为什么我想知道哪一个python库比pygithub3更好?请建议您喜欢哪一个。pygithub3不是github3.py。它们是截然不同的图书馆。我更喜欢github3.py,因为我写了itOK谢谢你Cordasco先生的重播我尝试了你建议的示例,但我得到错误-->请求的URL在访问时返回错误:403。