为什么' git show'回来空了?

时间:2014-10-15 18:35:07

标签: git timestamp git-show

我试图从回购中获取(统计)提交信息。 因此我做了:

$ git clone remote/path/to/repo localrepo && cd localrepo
$ git pull
$ git show --since 'Oct-03-2014' --until 'Oct-13-2014' --shortstat

通常,如果在origin/master分支(我当前正在进行)的那段时间内有提交,则上述命令的最后一行将产生我想要的好的摘要输出。

问题是时间段是否包含来自不同分支的合并。对于那些,git不会产生任何类型的输出(显然合并不包含可以显示的差异)。

那么如何才能获得包含有关合并差异的信息的好--shortstat摘要?

1 个答案:

答案 0 :(得分:0)

正如您所发现的那样 - 日期/时间戳不是查询git历史记录的可靠方法,并且它们失败的方法之一是处理合并提交。

因此,对于此特定实例,请手动调查您的树并在主线上找到您要开始的提交(对应于10月3日)。称之为SHA_OLD。现在在10月13日对应的主线上选择一个SHA。调用SHA_NEW。然后使用

git show ^SHA_OLD SHA_NEW --shortstat

将来,您可以使用标签简化此过程。 git tag定期提交,然后将其用作git show

的参数