8章コミットの検索
優れたバージョン管理システムには、リポジトリの「考古学」、すなわち過去の作業を調査するための機能が含まれている。Gitは、リポジトリ内で特定の条件を満たすコミットを探すためのメカニズムを組み込んでいる。
この章では、リポジトリのコミット履歴から特定のコミットとメタデータを探すためのテクニックを3種類説明する。第1のテクニックは非常に堅牢で、検索基準を満たすコミットを探すために役立つ。第2のテクニックはファイルに変更を導入したコミットについての情報を提供する。第3のテクニックは、git log
コマンドの一部になっている検索機能を活用するものである。
この章は、Gitでコミットを扱うときの検索スキルを身につけるために役立つだけでなく、見つけたコミットに変更を加える方法を説明する「9章 コミットの書き換え」に自然につながるように作られている。
8.1 git bisect
の使い方
git bisect
コマンドは、基準を自由に指定して特定のコミットを割り出せる強力なツールである。このコマンドは、何か「間違った」ことや「まずい」ことがリポジトリに影響を与えていることが明らかになったが、コードに問題がなかったときがあったことも間違いないというときに役立つ。たとえば、Linuxカーネルの開発をしていてテストブートが失敗するようになったとする。しかし、1週間前とか前にリリースタグをつけたときといったちょっと前の時点にはブートは間違いなく成功していた。このような場合、リポジトリは既知の「正常」な状態から既知の「異常」な状態に変わっている。
しかし、正常から異常に切り替わったのはいつだろうか。どのコミットが問題点を持ち込んだのだろうか。git bisect
は、このような疑問に答えるためのツールとして作られている。 ...
Get 実用 Git 第3版 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.