使用 LibGit2Sharp 查找 sha 提交的正确方法

Proper way to find commit by sha with LibGit2Sharp

存储库有几种类型的提交:

  1. 作为分支负责人的提交
  2. 标记引用的提交
  3. 第 1、2 和 3 点的提交父项。

如何通过 SHA 编号正确找到提交?

我目前的解决方案:

return (Commit)repo.ObjectDatabase
  .First(o =>
    o.GetType() == typeof(Commit) &&
    o.Sha.Equals(shortSha, StringComparison.InvariantCultureIgnoreCase));

我当前的解决方案遍历所有 git 个对象,搜索需要一段时间。

我想这里一定有更好的方法。

return repo.Lookup<Commit>(sha);