Git で変更の行番号を検索

Git で変更の行番号を検索

現在のブランチ (マスター) のソースで特定の CSS プロパティが最後に削除された日時を知りたいです。次のように書きました:

git log -Smystring --source

ハッシュが表示されました。gitk を起動してハッシュを貼り付けると、膨大なファイル リストが表示されました。これは行末だけの問題だと思います。ただし、gitk で文字列を検索しても見つかりません。削除された可能性がありますが、gitk では表示される- ...mystring...べきではないでしょうか。

文字列が含まれている行/ファイルを見つけるにはどうすればよいですか? 上記のコマンドを使用して最後のいくつかのハッシュが表示されますが、それを特定する方法がわかりません。

答え1

何かのようなもの

git bisect start
git bisect bad AFTER
git bisect good BEFORE
git bisect run grep -v LINE FILE

ここで、BEFORE と AFTER は、それぞれ問題の LINE を含むコミットと含まないコミットです。これにより、FILE に LINE が含まれる BEFORE と AFTER 間の最後のコミットが見つかります。

どのコミットを調べるべきかがわかったら、

git grep -n LINE COMMIT:FILE

適切なバージョンの FILE で LINE とその行番号を見つけます。

関連情報