7

複数のブランチがあり、システムにバグを導入したコミット A を発見しました。これはその後、ブランチの 1 つでコミット B によって修正され、マスターにマージされましたが、その時点では、問題のあるすべてのブランチにチェリーピックされていませんでした。

コミット A があり、コミット B がないすべての問題のあるブランチを表示するコマンドがあるかどうか疑問に思っていましたか?

以下を使用して、ブランチにコミットが存在することを確認しています

$ git branch -r --contains=A

しかし、これに追加して、次のようなものを含めたいと思います

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

補足として、私がチェックしたところ、同じ変更を含む他のコミットはありません。つまり、他のブランチにチェリーピックされていませんが、一部のブランチには、マージ以降にマスターから分岐したコミット B があり、一部のブランチにはコミット B があります。コミット B が導入される前に既に存在していた場所には置かないでください。

さらに、複数のコミットをチェックする機能は、問題を修正したコミット (この場合はコミット B) が、既に異なるコミット SHA を提供している複数のブランチに選択されている場合に役立ちます。

4

1 に答える 1

3

これを試しましたか:

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

完璧にはほど遠いですが、役立つかもしれません。

于 2012-04-17T13:01:18.473 に答える