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

C# 使用OctoKit获取存储库的所有文件,c#,octokit,octokit.net,C#,Octokit,Octokit.net,我想使用octokit从我的github存储库中获取有关文件的所有信息 项目: 更新: 我想我能做的是 getAllFilesFromRepository 这将为存储库中的所有文件返回json,如下所示 { “类型”:“符号链接”, “目标”:“/path/to/symlink/target”, “尺寸”:23, “名称”:“某些符号链接”, “路径”:“bin/some符号链接”, “sha”:“452A98979C88E093D682CAB404A3EC82BB48”, “url”:”htt

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

项目:

更新: 我想我能做的是 getAllFilesFromRepository

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

{
“类型”:“符号链接”,
“目标”:“/path/to/symlink/target”,
“尺寸”:23,
“名称”:“某些符号链接”,
“路径”:“bin/some符号链接”,
“sha”:“452A98979C88E093D682CAB404A3EC82BB48”,
“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",
“下载url”:https://raw.githubusercontent.com/octokit/octokit.rb/master/bin/some-symlink",
“_链接”:{
“吉特”:https://api.github.com/repos/octokit/octokit.rb/git/blobs/452a98979c88e093d682cab404a3ec82babebb48",
“自我”:https://api.github.com/repos/octokit/octokit.rb/contents/bin/some-symlink",
“html”:”https://github.com/octokit/octokit.rb/blob/master/bin/some-symlink"
}
}
请注意
我根本不想下载任何文件,也不想通过多次调用编写查询来检索数据。

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

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

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

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

var trees = _gitHubClient.Git.Tree.GetRecursive(_config.Owner, _config.RepositoryId, <<APPROPRIATE SHA>>).Result;
var trees=\u gitHubClient.Git.Tree.GetRecursive(\u config.Owner,\u config.RepositoryId,).Result;

您可以获取最新提交的SHA或根据您的要求获取SHA。此方法将为您提供一个树响应,其中包含足够的详细信息,如SHA、路径、类型和大小。

我练习的重点不是下载文件,而是只下载带有structure@cpoDesign我已编辑我的答案以使用正确的端点。谢谢你的澄清。谢谢你的回答,我会试试的