Sometimes you need to find when a certain piece of code was first introduced into your code base. Perhaps you’re wondering who wrote the first version of a certain function. It’s pretty easy to find what you’re looking for with git’s log command. All you need to do is use the
-S flag with it:
git log -SmyFunction
This will return all the git commits that introduce or remove the string “myFunction”. Here is git’s manual entry on the flag:
-S<string> Look for differences that introduce or remove an instance of <string>. Note that this is different than the string simply appearing in diff output; see the pickaxe entry in gitdiffcore(7) for more details.
Once you have the commits that you’re looking for, you can take a close look at them with
git show aae88c084c5b1c888f1e26a5b327739a3825d1df
where “aae88c084c5b1c888f1e26a5b327739a3825d1df” is the SHA of the commit you want to inspect. This will show all the files that were changed in the commit and a diff of each version, before and after the commit.