我熟悉显示过去 24 小时内(提交到作者本地存储库)的更改git log --since="24 hours ago"
的语法。
我们有一个开发人员团队,他们不断地在本地提交,然后每两天左右才推送一次这些更改。如果这是真的,那么git log --since="24 hours ago"
将永远不会列出这些更改。(我们将其用于每晚的摘要电子邮件)
我真正希望看到的是:在过去 24 小时内推送到 master 的更改,并且能够做到这一点,而无需手动记住我们的摘要脚本上次运行的提交哈希。
您可以使用这样的命令,在开发人员推送的服务器上运行它:
git reflog master --since="24 hours ago"
不幸的是,这些信息似乎并没有通过git fetch
类似命令传输,并且在本地运行会检索从集线器拉git reflog origin/master
取的历史记录。
git
当事物被推/拉时,它本身不会跟踪元数据。正如 user4815162342 的回答中所指出的,有些事情可以与猜测相关联(reflogs、文件时间戳等),但这不是一个完美的解决方案。如果您使用git daemon
,则可以将其设置为记录每个连接,并且您的 Web 服务器可以为 http/https 连接执行相同的操作。您还可以设置一些挂钩(特别是接收前或接收后的挂钩)来为您捕获一些信息。