内容
- 基本的な使い方は他の記事を参照してください。
- [git bisect で問題箇所を特定する] (http://qiita.com/usamik26/items/cce867b3b139ea5568a6)
- しかし、ビルドが失敗するなど、テストがそもそも失敗した時の対応がどこにもまとめられていないので
サマリ的な要素も含めてまとめてみます。- ぶっちゃけ
git bisect skip
の紹介と、
git bisect run
時にskipをさせるために125
を返すということの紹介だけ。
- ぶっちゃけ
基本的な使い方
手動
- 開始
-
基本
$ git bisect start $ git bisect bad <bad commit> $ git bisect good <good commit>
-
ワンライナ
git bisect start <bad commit> <good commit>
-
- 自動で中間のコミットがチェックアウトされた状態になる
- 成否を入力
- 成功
git bisect good
- 失敗
git bisect bad
- テスト不能
git bisect skip
- 成功
- 2.に戻る
- 特定したら
git show
した時のような見た目になる
- 特定したら
入力を間違えた場合
-
git bisect log > <temporary file name>
を適当なファイルに保存
- 入力を間違えたところ以降を削除する
- 恐らく最後の2行(コメント部分と実行したコマンド)
- 間違えてない部分はそのままでもいいかも?(要検証)
-
git bisect reset
で一旦終了 -
git bisect replay <temporary file name>
でログの内容を再実行
自動
- テストスクリプトを書く
-
終了コードによってテストの結果が判定される
終了コード 意味 0 成功 1〜128(125を除く) 失敗 125 テスト不能
-
- テスト開始処理(手動の時と同じなので割愛)
- テスト実行
git bisect run <script>
- 特定したら
git show
した時のような見た目になる