20

したがって、LibGit2Sharp https://github.com/libgit2/libgit2sharpを使用すると、次のようにブランチをウォークスルーできます。

using (var repo = new Repository(@"path to .git"))
{
    foreach (var branch in repo.Branches)
    {
        Debug.WriteLine(branch.Name);   
    }
}

しかし、現在/アクティブなブランチを取得するにはどうすればよいですか?

4

2 に答える 2

25

Branch.IsCurrentRepositoryHeadトリックを行う必要があります。

Repository.Headブランチを繰り返し処理したくない場合も、同じことを行うと思います...

于 2012-10-11T10:37:22.350 に答える
2

ブランチを調べて各ブランチが現在のヘッドであるかどうかを確認する代わりに、最も簡単なアプローチは、リポジトリのヘッドからブランチ名を直接取得することだと思います。

using (var repo = new Repository(@"path to .git"))
{
    var currentBranchName = repo.Head.FriendlyName;
}

その後、次の方法でブランチ自体を取得できます。

repo.Branches[currentBranchName]
于 2018-01-19T11:44:35.227 に答える