使用libgit2sharp
、如何计算ahead
或behind
度量。喜欢这个页面https://github.com/libgit2/libgit2sharp/branches
问问题
976 次
2 回答
9
如何计算提前或落后指标
每个Branch
人都有一个TrackingDetails
财产。此属性公开AheadBy
和BehindBy
可为空的值(当分支没有上游配置或上游分支不存在时,将返回 null)。
这些值将表示本地分支与上游分支(即被跟踪的远程分支)相比领先/落后的提交数量。
这输出类似的结果git status -sb
此页面实际上将上游(即托管在 GitHub 上的)存储库的每个分支与远程的当前提示进行比较HEAD
。此功能(比较两个本地分支)在 LibGit2Sharp 中不可用。
如果您对此感兴趣,请随时打开功能请求。
更新
引入新方法的拉取请求(参见#564repo.ObjectDatabase.CalculateHistoryDivergence(Commit, Commit)
)正在酝酿中。
这将允许用户确定提前和落后计数,以及用于计算这些距离的合并基础。
于 2013-11-12T14:48:39.337 回答
3
对于那些搜索(从 pygit2 v 0.27.4 开始),API 是ahead_behind
.
示例代码要点:
import pygit2
repo = pygit2.Repository('your-repo-path')
upstream_head = repo.revparse_single('origin/HEAD')
local_head = repo.revparse_single('HEAD')
diff = repo.ahead_behind(local_head.id, upstream_head.id)
于 2019-03-16T19:37:46.957 回答