使用 libgit2sharp 在 master 上检索 firstparentonly

Retrieve firstparentonly on master using libgit2sharp

我想仅使用 libgit2sharp 从 master first parent 检索提交,等效的命令行语句是

git log --first-parent master --oneline

我知道可以与 QueryBy 一起使用的 CommitFilter,就像这样

repo.Commits.QueryBy(new CommitFilter() { FirstParentOnly = true })

如果我不在 master 上,我将在我当前所在的分支上获得提交。我可以将提交结果限制为 master,即使我在不​​同的分支上吗?

我相信您正在寻找 CommitFilter 中的 IncludeReachableFrom

您可能还想同时使用 ExcludeReachableFrom 从您当前所在的分支中删除提交...

using (var repo = new Repository("/Users/sushi/code/redux/playscript"))
{
    var commitLog = repo.Commits.QueryBy(new CommitFilter() { FirstParentOnly = true, IncludeReachableFrom = "master" });
    foreach (var commit in commitLog)
    {
        Console.WriteLine($"{commit.Sha}");
        Console.ReadKey();
    }
}