查询最后一次提交到git repo而不进行克隆

时间:2017-01-04 01:13:27

标签: git

假设我希望从URL克隆一个大的git repo,当且仅当在最后n(例如24小时)内提交了master。我不想克隆它,因为对于这么大的回购来说这相当耗时,我也不希望克隆它一次,然后检查,例如git状态定期。

我希望能够在克隆之前判断最后一次提交的时间。有没有办法在git中这样做?如果没有,我的选择是什么?我知道我可以通过git ls-remote

获取最后一次提交的哈希值

1 个答案:

答案 0 :(得分:5)

一个选项可能是继续克隆回购,但只有深度为1.这应该可以实现非常快速的下载。

然后,您可以查看主人时间戳的提示。

示例:

git clone --depth 1 https://github.com/jquery/jquery.git jquery

有关详细信息,请参阅this文章。

  

Git支持“浅层克隆”的概念,这是一个更多   用于描述本地存储库的简洁有意义的方式   在克隆操作期间,历史记录被截断到特定深度。通过   为克隆命令提供--depth 1的参数,即进程   将仅复制存储库中所有内容的最新版本。

-

另一个选择,如果您的目标仓库在GitHub上,将使用GitHub的REST API,如下所示:

GET /repos/:owner/:repo/commits/:sha

然后,您可以解析提交时间戳的响应。

更多信息:https://developer.github.com/v3/repos/commits/#get-a-single-commit