2

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

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

我真正希望看到的是:在过去 24 小时内推送到 master 的更改,并且能够做到这一点,而无需手动记住我们的摘要脚本上次运行的提交哈希。

4

2 回答 2

4

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

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

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

于 2012-09-24T16:59:44.210 回答
2

git当事物被推/拉时,它本身不会跟踪元数据。正如 user4815162342 的回答中所指出的,有些事情可以与猜测相关联(reflogs、文件时间戳等),但这不是一个完美的解决方案。如果您使用git daemon,则可以将其设置为记录每个连接,并且您的 Web 服务器可以为 http/https 连接执行相同的操作。您还可以设置一些挂钩(特别是接收前或接收后的挂钩)来为您捕获一些信息。

于 2012-09-24T17:15:04.627 回答