通过Github API合并合并请求:SHA参数

时间:2019-05-28 13:35:49

标签: github

我正在阅读GitHub API的文档,但不确定使用合并请求请求方法做什么。

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

尤其是参数SHA。我不明白我应该向API提供什么。

“输入”部分说我必须提供

  • commit_title自动提交消息的标题。
  • commit_message附加到自动提交消息的额外详细信息。
  • 拉取请求头的
  • SHA SHA必须匹配才能允许合并。
  • merge_method合并方法 使用。

我到底从哪里获得传递给API的sha值?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

让我们假设我们从feature创建了一个拉回请求,回到了base。 GitHub可以通过将feature合并到base中来执行此拉取请求。在创建拉取请求时,拉取请求HEAD将在E中提交feature。但是,feature分支的HEAD可能会在拉取请求完成之前发生更改。

您提到的API调用包括拉取请求HEAD的SHA-1哈希,作为拉取请求完成的要求。这样可以避免feature被合并回base的可能性,而包含了除了提交E之外的其他提交。

关于如何为SHA-1(即请求请求HEAD)找到E哈希,您可以简单地尝试使用git log,例如

# from feature
git log

然后,检查输出,确认提交E中的最新条目是什么,并找到哈希。