git blame
は変更された行や追加された行には最適ですが、特定の以前のコミットに存在していた行が最終的に削除されたかどうかをどのように確認すればよいでしょうか。 と考えていますbisect
が、もっと便利なものを期待していました。
(質問される前に言っておきますが、この場合、私は a を実行してgit log -p
コード行を検索しただけで、(a) 誰かの馬鹿が前のコミットで重要な行を削除してしまい、 (b) その馬鹿は私でした。)
ベストアンサー1
行の内容がわかっている場合、これは次のような場合に最適な使用例です。
git log -S <string> path/to/file
は、その文字列のインスタンスを導入または削除するコミットを表示します。 は、-G<regex>
正規表現で同じことを行います。詳細については、およびオプションman git-log
を参照および検索するか、または pickaxe (これらの機能のフレンドリ名) を参照してください。-G
-S
この-S
オプションは実際にはマニュアルページのヘッダーのgit-blame
説明セクションにも記載されており、 を使用した例が示されていますgit log -S...
。