Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用libgit2sharp获得前后提交的数量?_Git_Libgit2_Libgit2sharp_Git Rev List - Fatal编程技术网

如何使用libgit2sharp获得前后提交的数量?

如何使用libgit2sharp获得前后提交的数量?,git,libgit2,libgit2sharp,git-rev-list,Git,Libgit2,Libgit2sharp,Git Rev List,使用git rev list命令可以获得前后提交的数量。我正在尝试使用libgit2sharp库来实现同样的功能,但是该库没有完整的文档,所以我找不到如何使用它 我正在寻找一个使用获取后/前提交编号的示例。请查看HistoryDivergence类。它采用libgit2中的git\u graph\u ahead\u behind函数。完成Jason Haslam给出的答案。。。这是一个如何使用HistoryDivergence获取每个分支前后的提交数的示例: using (var repo =

使用
git rev list
命令可以获得前后提交的数量。我正在尝试使用
libgit2sharp
库来实现同样的功能,但是该库没有完整的文档,所以我找不到如何使用它


我正在寻找一个使用获取后/前提交编号的示例。

请查看
HistoryDivergence
类。它采用libgit2中的
git\u graph\u ahead\u behind
函数。

完成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");
      }
}

如果您只想在本地分支与其跟踪的分支之间提前/延迟提交,则可以使用
分支.TrackingDetails
属性,该属性在幕后使用Jason Haslam在回答中引用的
HistoryDifference
类。构造函数声明为内部,那么如何使用它呢?请参见公认的答案。这可能更为正确。