可以使用git rev-list
命令获取后面/前面的提交数量。我正在尝试使用libgit2sharp
库实现相同的功能但是库没有完整记录,所以我无法找到如何。
我正在寻找一个使用libgit2sharp
获取后方/前方提交号码的示例。
答案 0 :(得分:3)
完成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");
}
}
答案 1 :(得分:2)
查看HistoryDivergence
课程。它适应了libgit2中的git_graph_ahead_behind
函数。