github - 通过 Github API 合并拉取请求:SHA 参数
问题描述
我正在阅读 GitHub API 的文档,但我不确定 Merge Pull Request 方法的作用。
https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button
特别是使用参数 SHA。我不明白我应该向 API 提供什么。
输入部分说我必须提供
- commit_title 自动提交消息的标题。
- commit_message 附加到自动提交消息的额外细节。
- 拉请求头必须匹配以允许合并的 sha SHA。
- merge_method 要使用的合并方法。
我从哪里获得需要传递给 API 的 sha 值?
谢谢!
解决方案
考虑下图,它显示了从某个基本分支派生的功能分支:
base: ... A -- B -- C
\
feature: D -- E
假设我们创建了一个从feature
返回到base
. GitHub 将通过合并feature
到base
. 在我们创建拉取请求时,拉取请求 HEAD 将E
在feature
. 但是,feature
分支的 HEAD 可能会在拉取请求完成之前更改。
您提到的 API 调用包括SHA-1
拉取请求 HEAD 的哈希,作为完成拉取请求的要求。这将避免在包含commit 之外的其他feature
提交时被合并回的可能性。base
E
关于如何找到拉取请求 HEAD的SHA-1
哈希,您可以简单地尝试使用,例如E
git log
# from feature
git log
然后,检查输出中应该是来自 commit 的最新条目E
,并找到哈希。
推荐阅读
- mediawiki-extensions - 如何将 Scribunto 版本与 Wikibase 容器版本匹配?
- ios - 如何在 MDCTabBar 中显示差异 viewContoller - swift
- unix - 仅从目录中查找最新的 hdfs 文件
- node.js - cassandra 在执行时继续运行
- jboss - 无法再使用 -D 将参数传递给 cli 脚本
- java - Spring boot - 在保存对象时根据 id 字段保存非 id 字段
- javascript - 如何在 VS Code 中显示 LSP 的相关信息
- c# - c#中带有自签名证书的SSL TLS通信不起作用
- maven - 如何在所有测试后调用自定义方法/清理?(盖布和斯波克)
- python - 获取用户的输入以创建 csv 文件