通过命令行查找上次更新远程Git存储库中分支的日期/时间

时间:2017-10-16 00:42:37

标签: git

我觉得我想念树林...我只是想通过命令行找出最后一次更新远程Git存储库中分支的日期/时间。

例如,取dicts = list(histogram_dict.keys()) for key in dicts: if histogram_dict[key] < 1: print "{} - {}".format(key, int(histogram_dict[key])*"*") else: print "{} - {}".format(key, int(histogram_dict[key]) * "*")。如果我在https://github.com/StackExchange/stack-blog/branches的GitHub上查看此存储库的分支,那么现在print("1.") draw_histogram({'a': 2, 'c': 7, 'b': 5}) print("2.") draw_histogram({'a': 0, 'c': 5, 'b': 7, 'f': 0})分支后面有一行说:

  

2个月前更新

这是我正在寻找的信息。用于此的https://github.com/StackExchange/stack-blog.git(或任何)命令是什么?如果不首先克隆分支,这甚至可能吗?

3 个答案:

答案 0 :(得分:2)

这样的事情应该有效:

git log -1 --format=%cd 

答案 1 :(得分:1)

具体来说是github:

curl -s https://github.com/<user>/<repository>/tree/<branch> | sed -n -E 's/.*<relative-time datetime="([^"]+)".*/\1/p'

说明:

  • curl获取包含所需信息的html网站
    • -s没有显示任何进展
  • sed
    • -n忽略不匹配的行
    • -E扩展正则表达式
    • 's/.*<relative-time datetime="([^"]+)".*/\1/p'
    • .*<relative-time datetime="([^"]+)".*搜索包含relative-time标记
    • 的行
    • \1将匹配替换为上次更改的日期
    • p-n一起将仅打印匹配

唯一的缺点: 日期不会采用相对格式(因为这似乎是在加载后通过javascript计算的)

适用于每个git存储库的不同方法:

根据此问题的答案"Is it possible to get commit logs/messages of a remote git repo without git clone"

$ git clone --branch <branch name> --single-branch <repo url> --depth=1

这将只下载存储库的单个分支的单个修订版。

从这一点开始,你可以简单地使用:

$ git log -1 --format=%cd

答案 2 :(得分:0)

使用:

git log

它会显示所有以前的更新。所以你可以查看你或其他人的提交。