gpt4 book ai didi

libgit2 - 如何使用 libgit2sharp 忽略合并提交?

转载 作者:行者123 更新时间:2023-12-02 15:14:52 25 4
gpt4 key购买 nike

我需要获取没有 Git 完成的自动合并提交的提交列表。如何使用 libgit2sharp 包来完成此操作?

最佳答案

合并提交是具有多个父级的提交。

为了使用 Git 执行此操作,可以发出以下命令,该命令将列出 HEAD 可到达的所有提交(不是合并提交)。

git log --no-merges HEAD

其中 --no-merges documented 为“不要打印具有多个父级的提交。这与 --max-parents=1 完全相同。”。

<小时/>

可以通过以下代码使用 LibGit2Sharp 执行相同的操作:

using (var repo = new Repository(path))
{
var allCommitsReachableByHead = repo.Commits;

const string RFC2822Format = "ddd dd MMM HH:mm:ss yyyy K";

foreach (var c in allCommitsReachableByHead)
{
if (c.Parents.Count() > 1)
{
continue;
}

Console.WriteLine("Author: {0} <{1}>", c.Author.Name, c.Author.Email);
Console.WriteLine("Date: {0}", c.Author.When.ToString(RFC2822Format, CultureInfo.InvariantCulture));
Console.WriteLine();
Console.WriteLine(c.Message);
Console.WriteLine();
}
}

关于libgit2 - 如何使用 libgit2sharp 忽略合并提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25637585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com