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
C# 如何使用LibGit2Sharp库获取特定选定分支的存储库名称_C#_Github_Libgit2sharp - Fatal编程技术网

C# 如何使用LibGit2Sharp库获取特定选定分支的存储库名称

C# 如何使用LibGit2Sharp库获取特定选定分支的存储库名称,c#,github,libgit2sharp,C#,Github,Libgit2sharp,我们正在使用LibGit2Sharp库来处理Github中的提交 问题:我们需要通过LibGit2Sharp库获取Github中所选分支的所有存储库名称 哪个类将拥有特定分支的存储库名称集合 我们搜索了下面的LibGit2Sharp文档,但没有找到任何想法 任何人都可以提出任何解决方案。免责声明: 在下面的回答中,我假设你的意思是: 我们需要在中获取所选存储库的所有分支名称 通过LibGit2Sharp库实现Github 使用Repository类的Branchs属性 以下程序使用存储库。分支

我们正在使用LibGit2Sharp库来处理Github中的提交


问题:我们需要通过LibGit2Sharp库获取Github中所选分支的所有存储库名称

哪个类将拥有特定分支的存储库名称集合

我们搜索了下面的LibGit2Sharp文档,但没有找到任何想法

任何人都可以提出任何解决方案。

免责声明:

在下面的回答中,我假设你的意思是:

我们需要在中获取所选存储库的所有分支名称 通过LibGit2Sharp库实现Github

使用Repository类的Branchs属性 以下程序使用
存储库。分支
属性,然后对其进行迭代:

class Program
{
    // Tested with LibGit2Sharp version 0.21.0.176
    static void Main(string[] args)
    {
        // Load the repository with the path (Replace E:\mono2 with a valid git path)
        Repository repository = new Repository(@"E:\mono2");
        foreach (var branch in repository.Branches)
        {
            // Display the branch name
            System.Console.WriteLine(branch.Name);
        }
        System.Console.ReadLine();
    }
}
程序的输出将显示如下内容:

origin/mono-4.0.0-branch 
origin/mono-4.0.0-branch-ServiceModelFix
upstream/mono-4.0.0-branch-c5sr2

如果您需要分支的
远程
上游BranchCanonicalName
之类的其他内容,则您拥有相关的属性。

我将猜测并假设您的意思如下:

尝试列出给定存储库的所有文件和目录。

这实际上意味着您要运行命令:git ls files

我参考了以下链接:

下面的代码剪贴应该可以做到这一点:

using System;
using LibGit2Sharp;

class Program
{
    public static void Main(string[] args)
    {
        using (var repo = new Repository(@"C:\Repo"))
        {
            foreach (IndexEntry e in repo.Index)
            {
                Console.WriteLine("{0} {1}", e.Path, e.StageLevel);
            }
        }

        Console.ReadLine();
    }
}
我还想补充一点,如果您知道git命令,那么您可以在for libgit2sharp上找到相应的api:

希望这有帮助


最佳。

“我们需要在Github中获取所选分支的所有存储库名称”:您有输入和所需输出的示例吗?您所说的“存储库名称”到底是什么意思?目前,问题还很不清楚。如果我们在Github中选择分支,它必须列出其在所选分支下的所有存储库/文件夹。@Skyrim我建议您浏览这些链接,并将其作为参考。是否要在给定分支的单个存储库下列出所有文件和文件夹的名称?似乎您在没有澄清问题的情况下添加了悬赏……我们需要通过LibGit2Sharp库获取Github中所选分支的所有存储库名称。“这就是我们需要的,”Skyrim说。存储库名称是什么意思?git中的repository是指托管在Github中的远程存储库的本地克隆。顺便说一句,libgit2sharp使您能够查询本地克隆,而不是动态请求github远程数据,例如给定repo的分支。