使用Github API获取文件差异

时间:2016-11-03 02:55:44

标签: api github

我需要检测并解析在不同拉取请求之间对存储库中的特定单个文本文件所做的更改的网络项目。

我已成功使用Github API访问pull请求和提交但我不知道如何检索上次提交中更改的行?

这可以使用API​​吗?什么是最好的方法? 如果不是,我应该尝试阅读最后两个文件版本并在本地实现不同的算法? 谢谢!

1 个答案:

答案 0 :(得分:6)

拉取请求包含diff_url条目,如

"diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff"

您可以为任何提交执行此操作。例如,要在octocat的Hello-World中获取提交7fd1a60b01f91b3的差异https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d.diff

这也适用于分支机构。这是octocat的Hello-World的主人。 https://github.com/octocat/Hello-World/commit/master.diff

一般形式是:

https://github.com/<owner>/<repo>/commit/<commit>.diff