如何使用 LibGit2Sharp 库获取特定选定分支的存储库名称
How to get the repository names for a particular selected branch using LibGit2Sharp library
我们正在使用 LibGit2Sharp 库来处理 Github 中的提交。
问题: 我们需要通过 LibGit2Sharp 库获取 Github 中所选分支的所有存储库名称。
class 将收集特定分支的存储库名称。
我们搜索了以下 LibGit2Sharp 文档,但没有得到任何想法。
http://www.nudoq.org/#!/Projects/LibGit2Sharp
任何人都可以提出任何解决方案。
免责声明:
在下面的回答中,我假设你的意思是:
We need to get all the branch names for the selected repository in
Github through LibGit2Sharp library.
使用存储库的分支 属性 Class
以下程序使用 Repository.Branches
属性 然后对其进行迭代:
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
如果您需要分支的 Remote
或 UpstreamBranchCanonicalName
等其他内容,您可以使用相关的 属性.
我将进行猜测并假设您的意思如下:
尝试列出给定存储库的所有文件和目录。
这实际上意味着您想要 运行 命令:git ls-files
我参考了以下 link : https://github.com/libgit2/libgit2sharp/wiki/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命令,那么你可以在github project wiki上找到对应的api for libgit2sharp :
希望对您有所帮助。
最佳。
我们正在使用 LibGit2Sharp 库来处理 Github 中的提交。
问题: 我们需要通过 LibGit2Sharp 库获取 Github 中所选分支的所有存储库名称。
class 将收集特定分支的存储库名称。
我们搜索了以下 LibGit2Sharp 文档,但没有得到任何想法。
http://www.nudoq.org/#!/Projects/LibGit2Sharp
任何人都可以提出任何解决方案。
免责声明:
在下面的回答中,我假设你的意思是:
We need to get all the branch names for the selected repository in Github through LibGit2Sharp library.
使用存储库的分支 属性 Class
以下程序使用 Repository.Branches
属性 然后对其进行迭代:
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
如果您需要分支的 Remote
或 UpstreamBranchCanonicalName
等其他内容,您可以使用相关的 属性.
我将进行猜测并假设您的意思如下:
尝试列出给定存储库的所有文件和目录。
这实际上意味着您想要 运行 命令:git ls-files
我参考了以下 link : https://github.com/libgit2/libgit2sharp/wiki/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命令,那么你可以在github project wiki上找到对应的api for libgit2sharp :
希望对您有所帮助。
最佳。