如何在github repo中的文件夹/目录中获取上次提交日期?

tec*_*man 6 git github github-api

例如:我想在这里获得最后提交日期 - https://github.com/elasticsearch/elasticsearch/tree/master/dev-tools/pmd

有了这个,我可以进入 pmd 文件夹 - https://api.github.com/repos/elasticsearch/elasticsearch/contents/dev-tools/pmd

但这没有关于日期的任何数据。我试过了https://api.github.com/repos/elasticsearch/elasticsearch/contents/dev-tools/pmd/commits,这会返回“未找到”消息。

使用 sha 尝试了 git url -https://api.github.com/repos/elasticsearch/elasticsearch/git/blobs/58788337ae94dbeaac72a0901d778a629460c992但即使这样也不会返回任何有用的信息。

如何使用github-api获取文件夹内的提交日期?

Chr*_*ris 7

使用 GitHub API 的新答案:

请求感动子目录提交使用GET /repos/:owner/:repo/commits,传递path参数,指定有问题的子目录:

path: 字符串,只返回包含此文件路径的提交。

响应将是零次或多次提交。获取最新版本并查看其commit/author/datecommit/committer/date,具体取决于您要查找的内容:

[
  {
    ...,
    "commit": {
      "author": {
        ...,
        "date": "2011-04-14T16:00:49Z"
      },
      "committer": {
        ...,
        "date": "2011-04-14T16:00:49Z"
      },
      ...,
    },
  },
]
Run Code Online (Sandbox Code Playgroud)

使用本地副本的原始答案:

试试git log -n 1 --pretty=format:%cd path/to/directory。这将为您提供该目录中最近提交的提交者日期

您还可以使用这些其他日期格式

  • %cD: 提交者日期,RFC2822 风格
  • %cr: 提交者日期,相对
  • %ct: 提交者日期,UNIX 时间戳
  • %ci: 提交者日期,ISO 8601 格式
  • %ad:作者日期(格式尊重 --date= 选项)
  • %aD: 作者日期,RFC2822 风格
  • %ar: 作者日期,亲戚
  • %at: 作者日期,UNIX 时间戳
  • %ai: 作者日期,ISO 8601 格式