使用github有一种方法可以只看一个分支吗?

时间:2014-07-22 21:17:30

标签: github

使用github有一种方法可以只看一个分支吗?有一个特定的存储库,我已经加星标,每天推送几十个提交,所以我不想看它并接收那么多通知。但我想看一个特定的概念验证分支。今天有可能通过github通知吗?

1 个答案:

答案 0 :(得分:1)

我不知道您是否可以使用Github自己的监视机制来观看分支,但是使用Github&#39编写一个告诉您分支是否已被修改的脚本非常简单; s API。 这是一个简单的Python脚本。你需要做的是在文件中写入当前时间和日期, 例如,星期六,2014年10月11日21:10:00 GMT,然后只是把这个脚本放入一个守护进程。

您唯一需要做的就是添加电子邮件部分。 (https://docs.python.org/2/library/email-examples.html

    import requests
    repo = ""
    user = ""
    branch = ""
    lastModified = (open("modified.txt", "r")).read()
    headers = {"If-Modified-Since": lastModified}
    request = requests.get("https://api.github.com/repos/" + user + "/" + repo + "/commits? sha="+branch, headers=headers )
    if(request.status_code != 304 && request.status_code == 200):
         modified = (open("modified.txt", "w")).write(request.headers["last-modified"])
         print("Branch has been updated. Sending e-mail")

希望你现在明白了。

编辑:阅读我的回复,可能有点抽象。 Github API在标题响应中提供了一个参数" last-modified"。您可以使用它来验证您查询的内容是否已针对特定日期进行了修改。 (更多信息请见https://developer.github.com/v3/#conditional-requests

发送GET请求时,必须在标题中包含参数" If-Modified-Since"与值一起,例如星期六,2014年10月11日21:10:00 GMT

如果没有修改,您将获得status_code 304。 如果已经修改,您将获得status_code 200.

值得一提的是,如果status_code为304,则查询不计入Github API的查询限制,对于未经身份验证的用户为60,对于经过身份验证的用户为5000。 (更多https://developer.github.com/v3/#rate-limiting