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 回答