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