@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

git bisectはbadコミットを自動で探す

qiita.com

% git bisect bad-commit good-commit

このあと手動でテストやら動作確認やらが必要だと思っていました。

ところがgoodの時は0を、badの時は1から124のどれかの終了コードを返すスクリプトを用意すれば自動で二分探索して問題のコミットを見つけてきてくれます。

たとえば、grunt buildでこけるようになってしまったので次のようなコマンドで問題のコミットを探してもらいました。

git bisect run grunt build

上に貼ったQiitaの記事では、問題のあったコミットをチェックアウトすると記述されていましたが、 手元で動かした時は一番最後にgoodであったコミットがチェックアウトされていました。

直後のコミットで、問題があったので、そのログや差分を見て修正しました。