如何获取所有在git上次推送中受影响的提交消息?

问题描述 投票:0回答:1

[我只是试图创建一个git钩子,该钩子在每个“ post-receve”上将有关所有提交的通知发送到我们的ms-teams通道。

git钩子本身可以工作,但是使用命令git log -1 --pretty=format:'%s'我只得到最后一个提交消息,如果您将多个提交推送到主站,这不是很有用。

是否有一种方法可以在每次推送时获取所有受影响的提交的数据(消息,作者,提交日期,提交编号,usw。)?我在这里查询了关于stackoverflow的很多问题,但是还没有找到解决我问题的合适方法。

谢谢! :)

git version-control git-log
1个回答
0
投票

通常来说,您的origin/master将是您上次同步后在master上的origin的位置。 master将是您当前的分支。这些之间的提交将是您感兴趣的提交,您可以使用git log origin/master..origin进行提交,并且您可以使用这些命令进行任何操作。

现在,根据您的情况,您需要在接收后在服务器上运行它。我不确定post-receive是否具有此信息(因为参考文献已经更新)。但是,pre-receive挂钩会接收到所有正在推送的提交的列表。将其连接到通知功能可能会更好。从answer链接到的Lasse V. Karlsen's comment具有如何执行此操作的详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.