トピックブランチ内の変更を無視してgit bisectする方法

merge commitについては1st parentのみをたどりながらgit bisectしたいことってありますよね? (参照: テストファーストなGitワークフローについて - kazuhoのメモ置き場)

そういうとき、1st parent以外に属するcommitをgit bisect skipするの、どうやったらきれいに書けるのかなと思ってたのですが、以下のやりかたが一番よさげ。

$ git bisect skip $(comm -23 <(git rev-list HEAD | sort) <(git rev-list --first-parent HEAD | sort))

thanks to: ひろせ31 on Twitter: "@kazuho comm -2 -3 <(cat A|sort) <(cat B|sort) とか?", Masakazu Takahashi on Twitter: "@kazuho 訂正。comm -23 A B でした"