1. ホーム
  2. git

[解決済み] 削除した行を「git blame」するにはどうすればいいですか?

2022-03-17 14:23:17

質問

git blame は、変更された行や追加された行には最適ですが、特定の前のコミットに存在した行が最終的に削除されたときを見つけるにはどうしたらよいでしょうか。 私が考えているのは bisect しかし、私はもっと便利なものを望んでいました。

(先に言っておくと、この場合、私はただ単に git log -p とコード行を検索してみると、(a)どこかのバカが ちょうど は前のコミットで重要な行を削除し、(b) 私がその馬鹿でした)。

解決方法は?

行の内容が分かっている場合は、理想的な使用例です。

git log -S <string> path/to/file

は、その文字列のインスタンスを導入したり削除したりしたコミットを表示します。また -G<regex> これは正規表現で同じことをします 参照 man git-log を検索して -G-S オプション、またはpickaxe(これらの機能のフレンドリーな名前)で詳細を確認できます。

その -S オプションのヘッダーに記載されています。 git-blame のマニュアルページでも、説明のセクションで git log -S... .