是否可以使用 libgit2sharp 从 GitLab 下载单个文件?

问题描述 投票:0回答:1

可以使用“libgit2sharp”克隆存储库。但我只需要存储库中的一些特定文件。就像使用文件名搜索然后下载/保存一样。我尝试如下,但未能找到搜索到的项目。

foreach (var item in repository.Commits)
{
    var blob = repository.Lookup<Blob>(item.Sha + ":" + fileName);

    if (blob == null)
    {
        continue;
    }
    else
    {
        // How to save?
    }
}

此外,从“blob”类型保存文件也是未知的。它仅供下载。工作流程中不需要拉取、提交等。 此外,在我的情况下,克隆后在本地文件夹中搜索并不是一个正确的选择。 请指教。

c# libgit2sharp
1个回答
0
投票

您可以查看文档

var fileName = "fileOne.txt"; 
var commitSha = "807736c691865a8f03c6f433d90db16d2ac7a005"; // For example
var repoPath = @"path/to/repo";

using (var repo = new Repository(repoPath))
{
    var blob = repo.Lookup<Blob>(commitSha + ":" + fileName);

    using (var content = new StreamReader(blob.GetContentStream(), Encoding.UTF8))
    {
        var fileContent = content.ReadToEnd();
        Console.WriteLine(fileContent);
    }
}
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.