git: 我如何知道是否有一个分支的pull request?

git: How can I find out whether there is a pull request for a branch?

我在 git 分支。有没有办法查看这个分支是否有pull-request?

在这种特殊情况下,Atlassian-Stash 用于管理拉取请求。当然我可以使用 Stash 的 web 界面来搜索 pull request;但是我也可以从脚本中做到这一点吗,只使用 git 命令行工具?

Core Git 没有类似(github 的,atlassian 的,...)pull request 的功能,所以你没有使用 standard git 命令运气不错。 (好吧,有 git-request-pull,但这 略有 不同)。

幸运的是,atlassian/stash(和 github)提供了允许您通过 cmdline-tools(而不是通过浏览器)使用它们的 API。

一旦你创建了一个小脚本来查询服务器的拉取请求,你可以把它变成一个子命令,方法是在你的脚本前加上 git- 前缀并将它放在你的搜索路径中的某个地方。

例如如果您的脚本名为 git-check-pulls,您可以将其用作 git check-pulls ...

就像 umlaute 解释的那样,您可以使用一个小脚本来检查是否有任何拉取请求。

这是我刚才用来检查拉取请求的一个小 python 脚本。

import urllib2
from StringIO import StringIO
import json

data = urllib2.urlopen("https://api.github.com/repos/<username>/<branch>/pulls").read()
io = StringIO(data)
jsondata = json.load(io)
for item in jsondata:
    print "pull request :: " + item['title'] 

需要一个不同的 url 来从存储中提取数据。 json 数据的结构似乎略有不同。

for item in jsondata['values']:

是需要更改以从存储中获取拉取请求的行。

通过 github command line tool 您可以: gh pr view