.gitconfig の alias で全履歴検索を設定する
git で過去のコミットから全件検索がしたいなんてことはよくあると思います。 実は以下のようにコマンドを実行すると、全履歴から検索することができます。
git rev-list --all | xargs git grep "検索したい文字列"
ただ、毎回長々とコマンドを打つのは面倒なので、.gitconfig に alias を設定しておくと便利です。
[alias]
search-all = "!f() { git rev-list --all | xargs git grep \"$1\"; }; f"
xargs にしたのは、検索結果が大規模になる場合に、git grep の引数が長すぎてエラーになることを防ぐためです。