created: 2020-09-03T01:50:22.000Z

git bisect を使う

たくさんコミットしてて、気がついたら関係なさそうなUIが動かなくなっていた場合など、 どのコミットが原因で動かなくなったかを割り出すのに git bisect が便利。

始める

以下のコミットで bisectモードに入れる。叩いたらすぐに真ん中のコミットがチェックアウトされる。

git bisect start <うごかないHASH> <うごくHASH>

チェックアウトされたコードでうごく場合

動作確認したらgood/badをやると次の二分探索先のハッシュがチェックアウトされる

git bisect good

動かない場合

git bisect bad

終わり

途中で分かったり、abortしたくなった場合は reset

git bisect reset

参考

本来だとテストスクリプトとかを登録して使うが、テストがあるときはgit bisectは使わないで済むことが多い。

ユーザーの問題解決とプロダクトの成功を導く エンジニアのためのドキュメントライティング
[ad] ユーザーの問題解決とプロダクトの成功を導く エンジニアのためのドキュメントライティング
ジャレッド・バーティ, ザッカリー・サラ・コ―ライセン (単行本)