当前位置:  开发笔记 > 运维 > 正文

GitHub GraphQL查询未返回上一次提交

如何解决《GitHubGraphQL查询未返回上一次提交》经验,为你挑选了1个好方法。

在所有阅读的地方,我看到可以使用此GraphQL查询获取GitHub存储库的最新提交:

{
repository(owner: "petermorlion", name: "RedStar.Amounts") {
    defaultBranchRef {
      name
      target {
        ... on Commit {
          history(first: 1) {
            edges {
              node {
                committedDate
              }
            }
          }
        }
      }
    }
  }
}

这可行。对于此存储库。如您所见(在撰写本文时),GraphQL Explorer和GitHub UI都说5月7日是最新提交:

但是,如果我在另一个存储库上运行它,则会得到第一次提交。将所有者更改为ystk,并将存储库名称更改为debian-libidn。GraphQL告诉我最新的提交是2009年10月13日:

但是GitHub UI显示实际上是2011年5月13日:

我的查询错了吗?我是否应该在orderby某个地方添加(我发现无法将其添加到history)?



1> Siavas..:

GraphQL查询实际上是正确的。

出问题的是似乎比较老的提交的日期,尽管该提交于2009年,但确实比2011年更新。此处较新的术语是指被推后的位置比另一个位置晚。这意味着修改了提交的时间戳,这可能是由于当时作者的时钟配置错误引起的。

主页将始终显示最近推送的提交,例如对于debian-libidn,它显示了2009年的提交。

要进一步详细说明Commit,您可以检索三个与时间戳相关的属性:

committedDate:本地创建提交的日期。当提交更改并受作者时钟影响时更新

authoredDate:默认情况下与相同committedDate,可以--date在提交更改时使用可选参数进行更改,也受作者时钟的影响

pushedDate:根据服务器的时间(在本例中为GitHub的时间),将提交推送到存储库的日期

从上面看来,您似乎宁愿使用它pushedDate,因为当提交被推送到仓库时,它将给出提交的真实顺序。

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有