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