Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
GitHub GraphQL查询未返回上次提交_Github_Graphql - Fatal编程技术网

GitHub GraphQL查询未返回上次提交

GitHub GraphQL查询未返回上次提交,github,graphql,Github,Graphql,无论我在哪里读到,我都可以使用以下GraphQL查询获得GitHub存储库的最新提交: { repository(owner: "petermorlion", name: "RedStar.Amounts") { defaultBranchRef { name target { ... on Commit { history(first: 1) { edges { node {

无论我在哪里读到,我都可以使用以下GraphQL查询获得GitHub存储库的最新提交:

{
repository(owner: "petermorlion", name: "RedStar.Amounts") {
    defaultBranchRef {
      name
      target {
        ... on Commit {
          history(first: 1) {
            edges {
              node {
                committedDate
              }
            }
          }
        }
      }
    }
  }
}
这是有效的。对于此存储库。正如你所看到的(在我写这篇文章的时候),和都说5月7日是最新的承诺:

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

但事实上这是2011年5月13日:


我的问题错了吗?我是否应该在某个地方添加一个
orderby
(我发现它不能添加到
历史记录中?

GraphQL查询实际上是正确的

出了问题的是,这本显然更老的《承诺》的日期,尽管它是在2009年写成的,但它确实比2011年的要晚。在这里,我们指的是在比另一个更晚的点上被推。这意味着提交的时间戳被修改,这可能是由于作者当时的时钟配置错误造成的

主页将始终显示最近推送的提交,例如,它显示日期为2009的提交

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

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

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

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


从上面看,您似乎更喜欢使用
pushedDate
,因为这将给出提交到回购的真实顺序。

您是否尝试过添加orderby create date,可能类似于orderby:{field:CREATED_AT,direction:ASC}对于可复制的演示,您可以查看我为此创建的存储库:author
SiavasFiroozbakht
和repo
TestRepo
。新提交显示为旧提交,尽管它是在初始提交后推送的。再进一步搜索,我尝试用
替换查询中的提交块。。。在提交时{committedDate}
这会给我最后一次提交吗?我已经详细阐述了
Commit
中与时间戳相关的字段。您可以使用
pushedDate
获取推送提交的实际日期。注意:在查询中更改或添加字段实际上不会应用它们的任何筛选<代码>历史记录