如何显示过去24小时推送的git更改?

时间:2012-09-24 16:46:24

标签: git git-log

我熟悉git log --since="24 hours ago"的语法,该语法显示过去24小时内已提交(对作者本地存储库)的更改。

我们有一个开发人员团队,他们不断在本地提交,然后每两天左右才推动这些更改。如果是这样,那么git log --since="24 hours ago"将永远不会列出这些更改。 (我们将其用于夜间摘要电子邮件)

我真正希望看到的是:在过去24小时内已经推送到掌握的更改,并且能够在不必手动记住上次我们的摘要脚本的提交哈希的情况下执行此操作跑了。

2 个答案:

答案 0 :(得分:2)

git本身不会跟踪推送/拉出内容的元数据。正如用户4815162342的回答中所提到的,有些东西可以与猜测相关联(reflogs,文件的时间戳等),但这不是一个完美的解决方案。如果您使用git daemon,则可以将其设置为记录每个连接,并且您的Web服务器可以对http / https连接执行相同操作。你也可以设置一些钩子(特别是预先接收或后接收的钩子)来为你捕捉一些信息。

答案 1 :(得分:1)

您可以使用这样的命令,在开发人员正在推动的服务器上运行它:

git reflog master --since="24 hours ago"

不幸的是,git fetch和类似命令似乎没有传输此信息,并且在本地运行git reflog origin/master会从集线器检索 pull 的历史记录。