Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 在发布分支中查找上一个合并提交_Git_Github_Github Api - Fatal编程技术网

Git 在发布分支中查找上一个合并提交

Git 在发布分支中查找上一个合并提交,git,github,github-api,Git,Github,Github Api,在工作中,我们有一个开发分支和一个发布分支。偶尔我们会将dev合并到发布中:为此,我们在github上创建一个Pull请求,然后合并它 我正在制作一个集成工具来告诉我们各种事情,例如谁是两个版本之间提交的作者我想找到上一个dev->release merge的sha 我设法在某种程度上使用了github的API: 我自动从上一个dev->release中检索到pull请求号 如果我知道他们的sha,我知道如何从任意两次提交之间的提交中获取所有信息 我现在所需要的一切是一个很好的方法,可以找到上

在工作中,我们有一个开发分支和一个发布分支。偶尔我们会将dev合并到发布中:为此,我们在github上创建一个Pull请求,然后合并它

我正在制作一个集成工具来告诉我们各种事情,例如谁是两个版本之间提交的作者我想找到上一个dev->release merge的sha

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

  • 我自动从上一个dev->release中检索到pull请求号
  • 如果我知道他们的sha,我知道如何从任意两次提交之间的提交中获取所有信息
  • 我现在所需要的一切是一个很好的方法,可以找到上一次开发->发布合并的时间:我设法迭代/翻页所有最后的提交,并可以在调试日志中看到上一次开发->发布合并(我手动查找了它的sha),因此我知道它就在那里,但是除了检查提交消息之外,我不知道如何自动判断停止,但它感觉有点脏,而且不总是准确的

请注意,这是一些内部工具,我不能使用git命令行工具。我也查过了

GitHub在API中没有提供此功能。您希望使用一个命令行调用来提供您链接到的问题的答案,或者使用libgit2或其包装器编写一个(相当复杂的)调用。这是得到正确答案的唯一方法

如果您完全100%确定人们只会使用标准的Git命令行工具,那么您可以使用它浏览历史记录并查找指示合并的适当提交消息。但是,如果有人编辑提交消息或使用其他工具,则您将丢失条目


您还可以通过GitHub API遍历历史,查找
发布
分支中的所有合并,并找到与
开发
分支中的第二个父级相匹配的第一个提交,但这是低效的,可能会导致速率受限。

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

如果您完全100%确定人们只会使用标准的Git命令行工具,那么您可以使用它浏览历史记录并查找指示合并的适当提交消息。但是,如果有人编辑提交消息或使用其他工具,则您将丢失条目


您还可以通过GitHub API遍历历史,找到
发布
分支中的所有合并,并找到与
开发
分支中的第二个父级相匹配的第一个提交,但这效率很低,可能会导致速率受限。

您可以在发布时创建标记,使用版本号。通过这种方式,在知道要比较的两个版本后,可以更轻松地对它们进行操作(例如,
git log tag1..tag2
,或等效版本)


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

您可以在发布时使用版本号创建标记。通过这种方式,在知道要比较的两个版本后,可以更轻松地对它们进行操作(例如,
git log tag1..tag2
,或等效版本)


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

谢谢您的建议!我认为我们仍在努力找出部署过程的最佳方式感谢您的建议!我认为我们仍在努力找出部署过程的最佳方式谢谢!最后我看到,当我合并到发布时,提交消息有拉请求的编号,我可以使用拉请求api列出与该PR相关的所有提交。看起来上一次部署是历史上PR中第一次提交之前的提交,所以我现在就看这个了谢谢!最后我看到,当我合并到发布时,提交消息有拉请求的编号,我可以使用拉请求api列出与该PR相关的所有提交。看起来上一次部署是历史上PR中第一次提交之前的提交,所以我现在正在看这个