ホームページ >バックエンド開発 >Python チュートリアル >git bisect を使用して、エラーが発生したバージョンをすばやく特定します
現在、あるプロジェクトがあります。ある日の開発中に、システムに同時にアクセスできなくなり、データベース接続が直接ロックされました。プロジェクトは Java プラットフォームを使用し、svn 上でバージョン管理を実行します。バージョンを 1 つずつコード レビューしたくなかったので、最も暴力的なハーフ バージョンの検索方法を考えました。 もちろん、これほど大きなプロジェクトの場合、バージョンを 1 つずつチェックすることになります。現時点では、git-bisect が唯一の選択肢です。
まず、svn ライブラリを git ライブラリとしてエクスポートします:
$ git svn clone -s http://svn.xxx.com/svn/xxxxx
次に、git bisect を開始します:
$ git bisect start
現在のバージョンをマークしますエラーとして:
$ git bisect bad
前日のバージョンを見つけて、タグ (tag20090106) を作成し、それが正しいことをテストしてマークします:
$ git bisect Good tag20090106
この時点で、git は次のように通知します。中間バージョンが選択されています。失敗した場合は、コンパイルとテストを開始します:
$ git bisect bad
git は中間バージョンを見つけてコンパイルとテストを開始し、成功した場合は次を実行します:
$ git bisect Good
git は続行されます。最終的にエラーが発生するバージョンが見つかるまでリビジョンを見つけます。その後、原因を分析し、問題を引き起こしたエンジニアを見つけて PK が完了したら、戻って作業を終了します。そして実行します:
$ git bisect replace
Git は現在の HEAD に戻ります。