Answers:
您可以转到github并在搜索栏中输入SHA,请确保选择左侧的“问题”链接。
2017年7月13日更新
通过Github UI,现在有了一种非常简单的方法。如果要在UI的分支中的提交列表中查看提交,请单击指向提交本身的链接。如果该提交有一个PR,并且没有直接添加到分支,则指向PR的链接(列出PR号和它进入的分支)将直接位于页面顶部的提交消息下方。
如果您拥有提交SHA而没有其他东西,并且不想四处寻找,只需将其添加/commit/[commit SHA]
到存储库URL中,您将看到带有PR链接(如果存在)的提交页面。例如,如果SHA是52797a7a3b087231e4e391e11ea861569205aaf4,并且仓库是https://github.com/glimmerjs/glimmer-vm,则转到https://github.com/glimmerjs/glimmer-vm/commit/52797a7a3b087231e4e391e11ea8615692054
e4077951
,这仍然对您有用吗?
master
)?
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/*/head
没有斑点的提交列表?此后如何“清理”(重新配置来源)?
upstream
确实是一个错误。我从具有该配置的存储库中复制了该配置,upstream
并在其中命名了远程服务器,并在将其更改为使用更通用origin
的远程计算机名称时错过了这种情况。我已经编辑了答案以解决此问题。
refs/remotes/origin/pr/*
代替refs/remotes/origin/pull/*
自2014年10月13日起,这应该很简单:
例如:
您可以看到该文件hakimel/reveal.js/plugin/markdown/markdown.js
,我的贡献现在带有对它起源的PR#734的引用。
这来自链接来自提交的合并的合并请求:
我们已经在提交页面上包含了包含分支和标签,以便为您提供有关更改的更多上下文。现在,在存储库默认分支中的提交还将向您显示引入它们的拉取请求。
在拉取请求中,您可以看到有关为什么引入提交的讨论,并且可以更清楚地了解更改的原因。
与往常一样,如果您知道提交SHA,则可以跳过提交页面并直接搜索pull请求。
API
水平吗?
我遇到了同样的问题,并编写了pr_for_sha bash帮助器,在此处进行了记录:
http://joey.aghion.com/find-the-github-pull-request-for-a-commit/
像这样调用它pr_for_sha <COMMIT>
,它将在浏览器中打开相应的github pull request页面。
git log
命令正常工作。git log --merges --ancestry-path --oneline 66100ab0..master
- fatal: ambiguous argument '66100ab0..master': unknown revision or path not in the working tree.
-git version 2.25.0