This quick tip is about two small features of Git I wish I had known about earlier as it makes it way easier to do searching through it.
git-grep is a way to search through your tracked files for whatever you provide. For example, if we want all files with the word index in it:
git grep index
We can limit to specific files, for example, if we want to filter the above example to just JSON files:
git grep index -- '*.json'
We can search for multiple items in a single file, for example, if we want to find all files with index and model in it:
git grep --all-match -e index -e model
git-log has a grep function too which is awesome for finding commit messages with a specific word or words in it. For example, if I want to find all commits about Speakers for DevConf I could do:
git log --all --grep "Speaker"