7

我有多个分支,并且发现了一个提交 A,它在系统中引入了一个错误。这随后由其中一个分支上的提交 B 修复并合并回 master,但当时它并没有被挑选到所有有问题的分支。

我想知道是否有一个命令会显示所有有提交 A 但没有提交 B 的违规分支?

我一直在使用以下内容来确定分支上是否存在提交

$ git branch -r --contains=A

但我想尝试添加到其中以包含类似的内容

$ git branch -r --contains=A ^--contains=B

作为旁注,我已经检查并且没有其他包含相同更改的提交,即它没有被挑选到任何其他分支,但是一些分支有提交 B,它们在合并后与 master 分歧和一些不要在引入提交 B 之前它们已经存在的地方。

此外,如果已修复问题的提交(在本例中为提交 B)被挑选到已经提供不同提交 SHA 的多个分支上,则检查多个提交的能力将很有用。

4

1 回答 1

3

你有没有试过这个:

diff <(git branch -r --contains=A) <(git branch -r --contains=B)

它远非完美,但它可能会有所帮助。

于 2012-04-17T13:01:18.473 回答