可以使用“libgit2sharp”克隆存储库。但我只需要存储库中的一些特定文件。就像使用文件名搜索然后下载/保存一样。我尝试如下,但未能找到搜索到的项目。
foreach (var item in repository.Commits)
{
var blob = repository.Lookup<Blob>(item.Sha + ":" + fileName);
if (blob == null)
{
continue;
}
else
{
// How to save?
}
}
此外,从“blob”类型保存文件也是未知的。它仅供下载。工作流程中不需要拉取、提交等。 此外,在我的情况下,克隆后在本地文件夹中搜索并不是一个正确的选择。 请指教。
您可以查看文档。
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);
}
}