在发布分支中查找先前的合并提交

时间:2019-04-27 23:35:24

标签: git github github-api

在工作中,我们有一个dev分支和一个release分支。有时我们会将开发人员合并到发行版中:为此,我们在github上创建了一个Pull Request,然后将其合并。

我正在制作一个集成工具来告诉我们各种情况,例如,谁是2个发行版之间的提交的作者。 我想找到以前的dev-> release合并版本的影子

我在某种程度上设法使用了 github的API

  • 我自动从上一个dev->版本中获取拉取请求编号
  • 如果我知道他们的sha,我知道如何从两次提交之间的提交中获取所有信息
  • 我现在需要的所有信息是查找上一次dev-> release合并时间的好方法:我设法遍历所有最后的提交/页面,并且可以在调试日志中看到以前的dev-> release merge(我手动查看了它的阴影),所以我知道它在那里,但是我不知道如何自动告诉停止检查检查提交消息,但是感觉有点脏,而且并不总是这样准确。

请注意,这是一些内部工具,我不能使用git命令行工具。我也抬起头来this question

2 个答案:

答案 0 :(得分:0)

GitHub不在API中提供此功能。您想要使用命令行调用来提供您所链接的问题中的答案,或者使用libgit2或它周围的包装器编写(相当复杂的)调用。这是获得正确答案的唯一方法。

如果绝对可以肯定100%人们将只使用标准的Git命令行工具,则可以使用this API call来查找历史记录并查找适当的提交消息以指示合并。但是,如果有人编辑过提交消息或使用其他工具,那么您将丢失所有条目。

您还可以通过GitHub API浏览历史记录,以查找release分支中的所有合并,并找到与dev分支中的第二个父级匹配的第一次提交,但这效率低下,并且可能会导致您受到速率限制。

答案 1 :(得分:0)

发布版本时,您都可以使用版本号来创建标签。这样一来,知道两个要比较的发行版(例如git log tag1..tag2或同等版本)就可以变得更加容易。

查找以前的版本几乎是当前版本号-1。