我需要知道远程存储库上最新版本master分支的日期和时间。我已经在本地安装了git,我知道git repo的HTTPS克隆URL,它在GitHub上托管。我知道如果我克隆了repo,我可以做git show --format="%ci %cr" master | head -n 1
,但是我需要一个能够快速运行的命令,而不会留下任何大小的数据;克隆一个200 MB的回购无法使用。
如何在不克隆整个存储库的情况下显示远程GitHub存储库的主分支的修订日期?
答案 0 :(得分:2)
我认为你不能用Git严格执行此操作(即以某种方式使用所有 Git遥控器)。但是有一个使用GitHub's GET /repos/:owner/:repo/branches/:branch
endpoint的解决方案,例如
curl https://api.github.com/repos/github/git-lfs/branches/master
# {
# "name": "master",
# "commit": {
# "sha": "df4be34fff5d9c70f5d8b897bbe23fa809776b6a",
# "commit": {
# "author": {
# "name": "risk danger olson",
# "email": "technoweenie@gmail.com",
# "date": "2015-08-04T21:24:00Z"
# },
# "committer": {
# "name": "risk danger olson",
# "email": "technoweenie@gmail.com",
# "date": "2015-08-04T21:24:00Z"
# },
# ...
使用您喜欢的JSON库从响应中提取commit/commit/author/date
和/或commit/commit/committer/date
个节点。命令行工具jq
可能会有所帮助:
curl https://api.github.com/repos/github/git-lfs/branches/master \
| jq .commit.commit.author.date,.commit.commit.committer.date
# "2015-08-04T21:24:00Z"
# "2015-08-04T21:24:00Z"
对于私人存储库,您必须authenticate。