如何在Git提交或推送时通知其他用户

10

我没有使用任何的代码审核工具(例如pull request),只是想在有人执行git commit或git push时通过电子邮件通知整个团队(通知仅供他们了解,无需审核)。想知道是否有从git命令行或github.com设置中得到的任何解决方案。


4
git commit 时,你实际上无法通知其他人(因为这是本地操作),但你可以完全添加 Webhooks 来通知用户 GitHub 上推送的情况。请注意,用户实际上可以告诉 GitHub 在他们自己的存储库中发送推送通知电子邮件。详情请参考管理对存储库推送的通知 - poke
@poke,点赞和感谢。请问您的指导,当“commit”或“push”时,它会发送电子邮件通知吗? - Lin Ma
2
当有push时,它会通知。 - Anton Sizikov
@AntonSizikov,我为什么要问这个问题呢?因为这个语句“commits to a pull request”让我感到困惑,不确定它是在git commit还是在git push时使用。 :) - Lin Ma
2个回答

9
GitHub内置了一个webhook来发送有关存储库中推送的电子邮件通知。您可以从存储库的“Webhooks&services”配置中设置它。有关更多详细信息,请参见此官方手册
此外,您还可以设置自己的webhook以发送通知。至于提交的通知,您也可以使用普通的Git钩子进行设置,但由于提交是在本地(和离线)完成的,因此您的团队中的每个成员都需要设置该Git钩子,并同意在提交时自动发送电子邮件。我个人绝不想要这样的功能。您能够仅在准备好提交时进行推送是一项强大的功能,因此您不应该从用户那里夺走这个功能(我个人比我的最终历史记录显示的提交频率要高得多——这些提交不是为其他人而是只为我自己而做的)。

1
那句话仅适用于个人用户通知(仅在拉取请求内部工作)。您正在寻找推送的一般通知,这些通知可以通过Webhooks获得。 - poke
1
你引用的那个页面的第一句话只适用于GitHub的pull requests。该页面上的其他所有内容都是关于获取所有推送的更详细通知。并且,正如我在答案中解释的那样,这仅涵盖推送,而不是提交。 - poke
1
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - poke
1
这指的是推送到当前用作拉取请求的分支,是的。在这些情况下,GitHub将自动获取这些提交并将它们添加到拉取请求中。 - poke
1
由于您所说的提交是本地的,因此“提交拉取请求”的唯一方法是将其推送到分支。我同意那里的措辞不完美。但是,是的,通知将通过推送而不是提交触发。 - poke
显示剩余8条评论

2
我将假设您希望监控推送到远程(我也会在最后提供本地解决方案),为此,您可以像@poke的回答中提到的那样使用GitHub webhooks
如果您不想构建自己的消费管道,只需考虑使用LightFlare(我是创建者),它具有从许多服务(包括github)消耗Webhooks事件的开箱即用支持,并在您选择的目标(slack / email等)上通知您。 LightFlare 目前支持以下服务的监视:
  • 基础设施:GCP、AWS、Azure、Heroku
  • 代码/发布:GitHub、Bitbucket、Netlify
  • 商务:Shopify、Gumroad
  • 根据客户要求进行更多集成
使用LightFlare,您还可以跟踪本地提交..只需添加一个git hook,curl到您的lightflare频道URL。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接