あのコミットどこだっけ?というときに使うgitコマンド
まずは基本の↓これ
コミットメッセージから探す場合
git log --grep (msg)
変更したコードベースで探す場合
git log -S (diff)
また、雑にコミットを積んで後から直す生活していると、たまに意図しないブランチにコミットを積んでいて後から探すのに困ったりする。
こんな場合は --all
オプションが便利。
単なる git log
だと今いるブランチから辿れるコミットしか検索してくれないが --all
だと全てのブランチやタグから横断して検索できる
余談
git log --grep='#1234' --all --format=format:%H | xargs -n1 git branch -r --contain
こんな感じにすると、マージコミットが入ってるブランチだけを探せて便利‥ということがあるかもしれない。
ここらへんの話は ruby-jp の #ruby-hacking での会話を眺めて探したり考えたりしたものです。
もっと簡単に書けたりするかもしれないので、そういうのがあったら教えて欲しい。