Как получить текущую/активную ветку с помощью LibGit2Sharp? - программирование
Подтвердить что ты не робот

Как получить текущую/активную ветку с помощью LibGit2Sharp?

Итак, используя LibGit2Sharp https://github.com/libgit2/libgit2sharp, вы можете пройти через ветки вроде этого

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

Но как получить текущую/активную ветвь?

4b9b3361

Ответ 1

Branch.IsCurrentRepositoryHead должен сделать трюк.

Я думаю, что Repository.Head также сделает то же самое, если вы не хотите проходить через ветки...

Ответ 2

Я думаю, что вместо того, чтобы проходить через ветки и проверять, является ли каждая ветвь текущей головой, самый простой способ - получить имя ветки из репозитория Head:

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

Затем вы можете получить ветвь через

repo.Branches[currentBranchName]