在Github上查找提交最初创build的合并请求

合并请求对于理解围绕一个更改或对一个回购所作的一系列更改的更大想法是很好的。 读取拉取请求是快速“增加”项目的一个好方法,而不是对源代码进行小的primefaces更改,而是获得更大的逻辑更改分组。 类似于将代码中的行组织成相关的“节”,以使其更容易阅读。

我发现自己正在查看一个文件或一个提交,我想知道是否有办法将提交回溯到最初创build它的合并请求。 这个Pull请求最终会被合并,但是不需要合并提交。

你可以去github并在search栏中inputSHA,确保你select左边的“Issues”链接。

2017年7月13日更新

通过Github用户界面,现在有一个非常简单的方法来做到这一点。 如果您正在查看UI中分支提交列表中的提交,请单击提交本身的链接。 如果这个提交有一个PR,并且它没有直接添加到分支,那么到PR的链接列出了PR编号,它所进入的分支将直接位于页面顶部的提交消息之下。 在这里输入图像说明


通过单击提交链接来查找PR的示例

如果你有提交SHA而没有别的东西,也不想去挖掘它,只需在回购url中添加/commit/[commit SHA] ,你将看到提交页面,如果存在PR链接。 例如,如果SHA是52797a7a3b087231e4e391e11ea861569205aaf4而回购是https://github.com/glimmerjs/glimmer-vm ,则请转到https://github.com/glimmerjs/glimmer-vm/commit/52797a7a3b087231e4e391e11ea861569205aaf4

 git config --add remote.origin.fetch +refs/pull/*/head:refs/remotes/origin/pull/* git fetch origin git describe --all --contains <COMMIT> 

如果需要的话,将origin改为指向发送拉取请求的github库的远程名称。 对于任何给定的远程,第一个命令只需要运行一次,第二个命令通常在获得其他更新时完成。

这将导致git获得关于拉请求的信息以及实际的分支。 他们将显示为远程跟踪分支,如origin/pull/123 。 一旦完成,您可以使用git describe--all--contains选项来显示引用提交的第一个分支。

但是,如果您正在查找的提交实际上是从pull请求提交的提交的修改版本,例如,如果更改已重新分配到其他工作中,或者执行合并的人员决定进行一些更改,则这将不起作用。

自2014年10月13日以来,这应该是直截了当的:

例如:

你可以看到文件hakimel/reveal.js/plugin/markdown/markdown.js ,现在我的贡献来源于PR#734的引用。

PR来自contrib

这来自链接来自提交的合并拉取请求

我们已经在提交页面上包含了包含分支和标签 ,为您提供更多关于更改的上下文。 现在,在存储库的默认分支中的提交也将显示引入它们的拉取请求。

用PR参考吧!

在拉取请求中,您可以看到为什么介绍该提交的讨论,并更清楚地了解更改原因。

与往常一样,如果您知道提交SHA,则可以跳过提交页面并直接search提取请求 。

将提交散列放入GitHub上的“请求”filter字段中。

在这里输入图像说明

我有这个相同的问题,写了pr_for_sha bash助手,在这里logging:

http://joey.aghion.com/find-the-github-pull-request-for-a-commit/

将其pr_for_sha <COMMIT> ,它将在浏览器中打开相应的github拉请求页面。