【问题标题】:Getting the last commit date from a remote repo without cloning从远程仓库获取最后提交日期而不进行克隆
【发布时间】:2021-05-27 10:49:08
【问题描述】:

我想在不克隆的情况下获取远程仓库中的最后提交日期。有没有办法做到这一点 ?我找到了几种方法,但要让它们都起作用,我需要先克隆 repo,然后发出命令以获取最后提交日期。

有没有办法从远程 git 获取最后提交日期而不克隆它?

【问题讨论】:

  • 这取决于你连接的 git 服务器。 Azure DevOps 有一个你可以利用的 REST API,例如 GitHub……不过,这些 API 是特定于平台的。

标签: git shell jenkins-pipeline


【解决方案1】:

如果它是远程的,它在另一台服务器上。这意味着无论解决方案如何,您都需要以某种方式连接到它。通常的解决方案是只使用 SSH:

ssh remote.server /bin/bash -c 'cd /path/to/remote/repo && git log --all -1 --format=%cd'

一些常用的生产 UI 有你可以使用的其他 API 等。例如,对于 Github,你可以获取最新的提交对象

https://api.github.com/repos/<user name>/<repo>/commits/<brancH>

(这是基于How can I get last commit from GitHub API)并解析Json(或Yaml,我不知道他们现在拥有什么,Json 似乎已经足够了)-在auther 和commiter 下有日期。如果你不知道哪个分支有最新的提交,你必须检查它们。

【讨论】:

  • 我将检查如何使用 Github 执行此操作,并尽快将其发布在这里。
  • 请注意,这只提供当前签出分支的最新日期,不一定是 any 分支上的最新提交。
  • @chepner 哦,谢谢!!修改为--all.
猜你喜欢
  • 1970-01-01
  • 2012-05-25
  • 1970-01-01
  • 2016-04-27
  • 1970-01-01
  • 1970-01-01
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多