Способ сделать это, добавив скрипт ловушки уведомлений, который отправляет данные в вашу систему, с каждым коммитом, который был перенесен в github.
Например: полезная нагрузка состоит из всех примененных коммитов, каждый из которых имеет идентификатор:
{
:before => before,
:after => after,
:ref => ref,
:commits => [{
:id => commit.id, <--- here
[...]
Второй шаг - заставить ваш скрипт вызывать github, используя github API, который выбирает каждый коммит, включенный в полезную нагрузку. Ответ содержит различия для каждого файла, которые затем вы можете отправить разработчикам по электронной почте.
Например: http://developer.github.com/v3/repos/commits/#get-a-single-commit
GET /repos/:owner/:repo/commits/:sha
: sha - это идентификатор коммита, для которого вы получаете код, и ответ выглядит так:
[...]
"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
}
[...]
Надеюсь, это поможет. Пожалуйста, спросите, если вам нужно больше информации о том, как это сделать.