有谁知道让GitHub电子邮件提交/拉取请求通知(包括提交的全部差异)的方法吗?
我知道电子邮件服务挂钩,但是不会发送差异。
有谁知道让GitHub电子邮件提交/拉取请求通知(包括提交的全部差异)的方法吗?
我知道电子邮件服务挂钩,但是不会发送差异。
Answers:
目前,无法仅使用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生成实际的电子邮件,但是应该可以在不到一天的时间内进行设置。