So using LibGit2Sharp https://github.com/libgit2/libgit2sharp you can walk through the branches like this
using (var repo = new Repository(@"path to .git"))
{
foreach (var branch in repo.Branches)
{
Debug.WriteLine(branch.Name);
}
}
But how do I get the current/active branch?
Branch.IsCurrentRepositoryHead
should do the trick.
I think Repository.Head
will also do the same thing if you don't want to iterate through the branches...
I think that, instead of going through the branches and checking whether each branch is the current head, the simplest approach is to directly get the branch name from the repository Head:
using (var repo = new Repository(@"path to .git"))
{
var currentBranchName = repo.Head.FriendlyName;
}
You can then obtain the branch itself via
repo.Branches[currentBranchName]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With