Fetch commit logs of certain function or method in Git
You would reach for the git log command when you want to take a look at the list of commits for the Git repository you’re currently in.
The command will list all the commits for that repository showing the newest commit first.
A typical output for
git log would look like so.
So, that’s a repository-wide
git log but there comes a time when you want to have logs for a specific piece of code for a specific file.
For instance, you might need to check in which commits exactly a certain method/function has been changed. How would you do that?
The Line Log Search
git log command can let do exactly that. It’s called “Line Log Search”. Let me show you how.
Let’s say I want to check whether in which commits the
showToast method in the
js/utils.js file has been changed. I can do that by using the
git log command with the
-L option like so.
$ git log -L :showToast:js/utils.js
This is how the output would look like.
As you can tell, the command will intelligently try to figure out what the boundaries of the function are and then look through the history and show us every change that was made to the function as a series of patches back to when the function was first created.
A really handy tool in certain situations!