首页 > 解决方案 > 通过 Github API 合并拉取请求:SHA 参数

问题描述

我正在阅读 GitHub API 的文档,但我不确定 Merge Pull Request 方法的作用。

https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button

特别是使用参数 SHA。我不明白我应该向 API 提供什么。

输入部分说我必须提供

我从哪里获得需要传递给 API 的 sha 值?

谢谢!

标签: github

解决方案


考虑下图,它显示了从某个基本分支派生的功能分支:

base:     ... A -- B -- C
                    \
feature:             D -- E

假设我们创建了一个从feature返回到base. GitHub 将通过合并featurebase. 在我们创建拉取请求时,拉取请求 HEAD 将Efeature. 但是,feature分支的 HEAD 可能会在拉取请求完成之前更改。

您提到的 API 调用包括SHA-1拉取请求 HEAD 的哈希,作为完成拉取请求的要求。这将避免在包含commit 之外的其他feature提交时被合并回的可能性。baseE

关于如何找到拉取请求 HEAD的SHA-1哈希,您可以简单地尝试使用,例如Egit log

# from feature
git log

然后,检查输出中应该是来自 commit 的最新条目E,并找到哈希。


推荐阅读