Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Github最后一次提交?_C#_Github_Commit_Github Api - Fatal编程技术网

C# Github最后一次提交?

C# Github最后一次提交?,c#,github,commit,github-api,C#,Github,Commit,Github Api,因此,我一直在四处寻找,试图找出如何转到指定的github页面,获取最后一个提交值,并将其绑定到我的应用程序中的一个值中,似乎没有什么意义,而且没有多少好的示例可以作为基础。而且似乎没有人想分享他们在这个话题上的知识 我试图只从github页面获取最后一个提交值,并将其用作我的应用程序中的一个值,有人能给我一个如何实现这一点的示例吗?我正在将C#与WPF项目类型一起使用。如果要在本地克隆存储库并检查它,可以使用。如果这不是您的选项,那么您可以使用GithubAPI。您要查找的url是: http

因此,我一直在四处寻找,试图找出如何转到指定的github页面,获取最后一个提交值,并将其绑定到我的应用程序中的一个值中,似乎没有什么意义,而且没有多少好的示例可以作为基础。而且似乎没有人想分享他们在这个话题上的知识


我试图只从github页面获取最后一个提交值,并将其用作我的应用程序中的一个值,有人能给我一个如何实现这一点的示例吗?我正在将C#与WPF项目类型一起使用。

如果要在本地克隆存储库并检查它,可以使用。如果这不是您的选项,那么您可以使用GithubAPI。您要查找的url是:

https://api.github.com/repos/<repo_path>/commits

如评论中所述,这将把您的实现与github结合起来,因此如果您选择第二个选项,请确保您的应用程序将来不需要与其他git主机一起工作。

听起来可能是一个WebClient作业。你能在Github上发布一些关于你想要达到的目标的详细信息吗?这似乎有点迂回,因为页面是git存储库的表示,为什么要查看页面并依赖它提供的视图,而这些视图只需稍加重新设计就可以打破,与其查看存储库本身,不如尝试从repo本身获取最后的提交值。。当然,我可以查看版本并尝试获取该值,因为它保存在.config文件中的某个位置,但是有些人可能不会通过微小的更改来更新该值,im在最近提交到存储库的值之后(例如,上次提交:2小时前,但仅在“2小时前”部分之后)。。老实说,我不知道我应该如何处理它,但我看到了一些网站和应用程序已经能够实现它,我希望做同样的事情。是的,这是一些用户的计算机(软件的用户)将有一些东西因此,我不认为在本地克隆回购协议是一个好主意,因为那时我需要找出相对路径/完整路径来访问它。。但是看起来它会很好地工作(到目前为止还不知道github api),我会尝试一下,然后给你回复:)是的。。lastCommit字符串在这里和那里几乎没有变化,我能够检索其中一个提交的日期(做了一个github示例,也做了我自己的),因为我计划确保使用我添加和发布的每个功能更新我的版本。。您认为自动更新我的应用程序的最佳方式是什么。。使用应用程序数据创建一个json文件,并将该值与存储在github上的值进行比较?(因为它会有相同的文件,比如更早的日期)正如网站上所述,GitSharp不再被维护:“GitSharp开发目前被搁置,因为我们相信libgit2项目及其C#绑定libgit2sharp更有希望进行开发。”@如果不知道应用程序的要求,很难说。你可以使用一些缓存策略,或者在每次需要时重新获取数据也可以。它更像是一个脚本数据库,可以自动处理我放在一起的事情,这样人们就可以有一个中心位置来使用它们,每个都通过github连接和安装,一切都很好,但我也希望为该脚本的最新提交设置一个标签,这样人们就可以使用最新的,并确保它在当前工作。我计划将源代码或应用程序上传到github,并允许它在每次打开时检查是否是与github相比的最新版本,而不是让他们在每次更新时下载新版本
using (var client = new HttpClient())
{
    client.DefaultRequestHeaders.Add("User-Agent",
        "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");

    using (var response = client.GetAsync("https://api.github.com/repos/NancyFx/Nancy/commits").Result)
    {
        var json = response.Content.ReadAsStringAsync().Result;

        dynamic commits = JArray.Parse(json);
        string lastCommit = commits[0].commit.message;
    }
}