有没有办法让GitHub发送包括diff的提交通知?


11

有谁知道让GitHub电子邮件提交/拉取请求通知(包括提交的全部差异)的方法吗?

我知道电子邮件服务挂钩,但是不会发送差异。


您可能想在github.com/github/github-services/issues/149输入提示音 -服务挂钩甚至都没有区别
Alex Dupuy

但是,请不要屏住呼吸,github.com/github/github-services/issues/86已于4月关闭,因此似乎也不太可能对问题149做任何事情。
Alex Dupuy 2012年


@Alex-您想发表评论作为答案,以帮助将该问题移出未回答问题的首页吗?
香农·瓦格纳

@ShannonWagner-已发布。我什至想出了一种使用本地资源和其他工具来实现所有目标的方法,但是这些说明只是一个粗略的概述,要使其实现就需要脚本,汇编和电池(不包括在内)。
Alex Dupuy 2012年

Answers:


3

目前,无法仅使用GitHub来完成您想做的事情。如/programming/4211107/how-to-get-email-diffs-for-github-pushes中所述,GitHub内不支持发送包含diff的电子邮件。对此提出了两个GitHub问题-http: //github.com/github/github-services/issues/86(关闭)和http://github.com/github/github-services/issues/149,尽管他们说这是他们将来可能会实现的东西,没有迹象表明这种情况会发生。

就是说,如果您愿意使用git仓库运行自己的(本地或云托管,但使用脚本编写的)Web或电子邮件服务器,则可以使用GitHub接收后通知(http://help.github .com / articles / post-receive-hooks)发送到您的Web服务器,或将普通(无差异)电子邮件通知发送到您的电子邮件服务器上的特殊地址。将根据您在何处以及如何托管服务器来在Web和电子邮件通知之间进行选择-如果您具有良好的连接性和可靠性,则Web通知将具有最低的延迟,但是如果您的Web服务器由于任何原因而无法访问,在您的网络服务器可访问时进行下一次提交之前,您不会收到通知;使用电子邮件会延迟整个过程,但是如果您在家中托管电子邮件,则可能更可取,尤其是对于任何不常开机的计算机。

无论哪种情况,您都必须编写一个脚本(该脚本接受(电子邮件或Web / JSON)通知,并将相关存储库从GitHub提取到本地存储库,在该存储库中您必须设置Git的内部后置接收钩子机制来运行类似http://github.com/jtek/git-hook-update-notify-email(在上述stackoverflow文章中提到)的机制,或者您是否愿意并能够安装和使用Pygments(Python代码)着色器)也许看起来更好一些,例如http://blog.chomperstomp.com/making-git-show-post-receive-e-mails-as-an-html-color-formatted-diff/(链接到https: //stackoverflow.com/questions/3232270/git-post-receive-email-hook-to-show-an-html-formatted-color-diff/)。

这需要一些脚本工作,并且需要您具有一些托管基础结构来运行Web或电子邮件服务器,本地拉脚本,然后是本地后接收钩子以使用diffs生成实际的电子邮件,但是应该可以在不到一天的时间内进行设置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.