首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用OctoKit获取存储库的所有文件

使用OctoKit获取存储库的所有文件
EN

Stack Overflow用户
提问于 2016-03-16 07:04:14
回答 2查看 6.5K关注 0票数 8

我想使用octokit从我的github存储库获取有关文件的所有信息

项目:http://octokitnet.readthedocs.org/en/latest/contributing/

更新:我认为我可以做的是getAllFilesFromRepository

这将为存储库中的所有文件返回如下示例的json

代码语言:javascript
复制
{
  "type": "symlink",
  "target": "/path/to/symlink/target",
  "size": 23,
  "name": "some-symlink",
  "path": "bin/some-symlink",
  "sha": "452a98979c88e093d682cab404a3ec82babebb48",
  "url": "https://api.github.com/repos/octokit/octokit.rb/contents/bin/some-symlink",
  "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/452a98979c88e093d682cab404a3ec82babebb48",
  "html_url": "https://github.com/octokit/octokit.rb/blob/master/bin/some-symlink",
  "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/bin/some-symlink",
  "_links": {
    "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/452a98979c88e093d682cab404a3ec82babebb48",
    "self": "https://api.github.com/repos/octokit/octokit.rb/contents/bin/some-symlink",
    "html": "https://github.com/octokit/octokit.rb/blob/master/bin/some-symlink"
  }
}

请注意,我根本不想下载任何文件,也不想通过多次调用编写查询来检索数据。

EN

回答 2

Stack Overflow用户

发布于 2016-03-18 13:05:55

我不确定我是否理解了这个问题,但请先阅读Getting Started指南,了解您需要的设置。

这是一个如何下载给定存储库内容的示例:

代码语言:javascript
复制
var github = new GitHubClient(...); // TODO: other setup

var contents = await github
                .Repository
                .Content
                .GetAllContents("octokit", "octokit.net");

...

var docs = await github
                .Repository
                .Content
                .GetAllContents("octokit", "octokit.net", "docs");

更改这些值以适合您感兴趣的存储库。如果要下载非默认分支,请改用GetAllContentsByRef

票数 11
EN

Stack Overflow用户

发布于 2020-09-24 03:30:52

GetAllContents方法可以很好地工作,但有一个小问题是它不会递归地迭代存储库中的所有子文件夹。它只给出存在于顶层的文件和文件夹。如果您想列出存储库的所有文件,我建议您使用GetRecursive方法,如下所示:

代码语言:javascript
复制
var trees = _gitHubClient.Git.Tree.GetRecursive(_config.Owner, _config.RepositoryId, <<APPROPRIATE SHA>>).Result;

您可以获取最新提交的SHA,或者根据您的requirement.This方法,将给出一个树响应,其中包含足够的详细信息,如SHA、路径、类型和大小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36023902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档