首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取GitHub推送的电子邮件差异?

如何获取GitHub推送的电子邮件差异?
EN

Stack Overflow用户
提问于 2010-11-18 10:24:11
回答 3查看 5K关注 0票数 22

当提交被推送到你的GitHub仓库时,有没有人想出一个好的方法来获取电子邮件--其中包括更改的文件的差异?

(我知道他们有电子邮件服务挂钩-但这不包括diff)

如果使用Gmail中可见的内联CSS对差异进行着色,则会获得巨大的加分。

EN

回答 3

Stack Overflow用户

发布于 2013-01-26 01:19:36

我已经编写了一个小的WebHook来填补这个空白:gitdub。它利用git-notifier为每次提交发送一封电子邮件。

票数 9
EN

Stack Overflow用户

发布于 2012-09-27 07:54:21

可能不是你的理想答案,但如果你在自己的服务器上设置gitolite,你可以设置git-commit-notifer,获得漂亮的彩色差异电子邮件,并拥有无限的git帐户,因为你拥有服务器。我这样做了,而且我从来没有回头看过。

没有服务器吗?你可以以非常便宜的价格(每月15美元)获得一个微型亚马逊EC2实例。我们有多达12个开发人员和10个git repos,它在一个微型实例上工作得很好。

票数 2
EN

Stack Overflow用户

发布于 2012-09-27 21:05:48

这样做的方法是添加一个通知钩子脚本,该脚本将数据发布到您的系统,每次提交都被推送到github。

例如:有效负载由应用的每个提交组成,每个提交都有一个id:

{
  :before     => before,

  :after      => after,

  :ref        => ref,

  :commits    => [{

    :id        => commit.id, <--- here
[...]

第二步是让您的脚本使用github API触发对github的调用,以获取包含在有效负载中的每个提交。响应包括每个文件的差异,然后您可以通过电子邮件将其发送给开发人员。

例如:http://developer.github.com/v3/repos/commits/#get-a-single-commit

GET /repos/:owner/:repo/commits/:sha

:sha是要获取代码的提交的id,响应如下所示:

[...]

 "files": [

    {
      "filename": "file1.txt",
      "additions": 10,
      "deletions": 2,
      "changes": 12,
      "status": "modified",
      "raw_url": "https://github.com/octocat/Hello-World/raw/7ca483543807a51b6079e54ac4cc392bc29ae284/file1.txt",
      "blob_url": "https://github.com/octocat/Hello-World/blob/7ca483543807a51b6079e54ac4cc392bc29ae284/file1.txt",
      "patch": "@@ -29,7 +29,7 @@\n....." <---- HERE
    } 
[...]

希望这能有所帮助。请询问您是否需要有关如何操作的更多详细信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4211107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档