使用
我正在寻找一个使用
git rev-list
命令可以获得落后/超前提交次数。我希望使用libgit2sharp
库实现同样的功能,但是该库没有完全文档化,所以我无法找到如何实现。我正在寻找一个使用
libgit2sharp
获取落后/超前提交次数的示例。git rev-list
命令可以获得落后/超前提交次数。我希望使用libgit2sharp
库实现同样的功能,但是该库没有完全文档化,所以我无法找到如何实现。libgit2sharp
获取落后/超前提交次数的示例。以下是Jason Haslam的答案补充...下面是如何使用HistoryDivergence
获取每个分支前后提交数的示例:
using (var repo = new Repository("/path/to/repo"))
{
foreach (Branch b in repo.Branches)
{
// if branch does not have a remote b.TrackingDetails.AheadBy and b.TrackingDetails.BehindBy will be both null
var commitsAhead = b.TrackingDetails.AheadBy;
var commitsBehind = b.TrackingDetails.BehindBy;
Console.WriteLine($"Branch {b.FriendlyName} is {commitsAhead} ahead and {commitsBehind} behind");
}
}
看一下 HistoryDivergence
类。它是从 libgit2 中的 git_graph_ahead_behind
函数进行了适配。
Branch.TrackingDetails
属性,该属性在幕后使用Jason Haslam在他的答案中提到的HistoryDivergence
类。 - yorah