使用 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();
}
}
我想仅使用 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();
}
}