在git中,如何验证发布版本和主版本中的错误修复

时间:2020-07-30 08:26:54

标签: git git-flow

我们已经为我们的最新版本创建了一个发行分支。同时,我们继续在master上开发新功能。

我们一直在release分支上进行错误修复。通常,我们基于发布分支创建一个主题分支,修复该主题分支上的错误,并在完成后将其合并到发布分支。

此后,我们从发布分支中挑选合并提交到master。

现在要解决的问题:我们已修复了许多错误,并且开始难以确定它们是否全部被挑选。有没有办法验证master分支中还包括release分支上的所有修补程序?

2 个答案:

答案 0 :(得分:3)

如果您从一个分支中挑选一个补丁到另一个分支,它将获得不同的提交哈希,因此您不能依赖它。

建议您在提交消息的开头使用自己的密钥(例如,“ Bug-12345修复SomeComponent中的内存泄漏”)。然后,您可以从每个分支中提取错误修复列表,例如:

$ git log --oneline <branchname> | grep '^Bug-' | sort

然后比较两者。

答案 1 :(得分:0)

经过进一步调查,我在一个我不知道存在的git命令中找到了问题的答案。

git cherry完成了任务。 The docs说:“等效测试基于差异,删除空白和行号之后。”这可能非常有用。

要检查master中与发布分支是否存在相同的提交,可以运行以下命令:

$ git cherry master <your_release_branch>