C# 如何使用Lib2GitSharp在Git中获取对文件的所有更改

C# 如何使用Lib2GitSharp在Git中获取对文件的所有更改,c#,.net,git,libgit2sharp,C#,.net,Git,Libgit2sharp,我希望能够获得对文件所做的所有更改的列表。我看过这篇文章 ,但这需要从提交开始。我想开始挖掘文件名 不在当地获得全部回购协议的情况下,这也是可能的吗?经过一番研究,我想我找到了答案 /*Small test*/ using (Repository repo = new Repository(strLocalDeliveryPath)) { var fileHistory = repo.Comm

我希望能够获得对文件所做的所有更改的列表。我看过这篇文章 ,但这需要从提交开始。我想开始挖掘文件名


不在当地获得全部回购协议的情况下,这也是可能的吗?

经过一番研究,我想我找到了答案

            /*Small test*/
            using (Repository repo = new Repository(strLocalDeliveryPath))
            {
                var fileHistory = repo.Commits.QueryBy(@"Path/To/file.ini").ToList();

                int i = fileHistory.Count();
            }

这是从最新到最老的顺序,很适合我。我通常只需要文件内容的最新版本,但我也没有办法翻阅文件的历史。

经过一番研究,我想我找到了答案

            /*Small test*/
            using (Repository repo = new Repository(strLocalDeliveryPath))
            {
                var fileHistory = repo.Commits.QueryBy(@"Path/To/file.ini").ToList();

                int i = fileHistory.Count();
            }
这是从最新到最老的顺序,很适合我。我通常只需要文件内容的最新版本,但我也不能选择挖掘文件的历史记录。

您可以查看更多信息,但是是的,该功能是在
libgit2sharp
0.22.0中添加的。下面是一个例子:

var fileHistory = repository.Commits.QueryBy(filePathRelativeToRepository);
foreach (var version in fileHistory)
{
    // Get further details by inspecting version.Commit
}
您可以查看更多信息,但是是的,该功能是在
libgit2sharp
0.22.0中添加的。下面是一个例子:

var fileHistory = repository.Commits.QueryBy(filePathRelativeToRepository);
foreach (var version in fileHistory)
{
    // Get further details by inspecting version.Commit
}