git blame you can see who changed what in a specific file, line by line, which is useful if you work in a team, instead of alone. For example, if a line of code makes you wonder why it is there, you can use
git blame and you will know who you must ask.
git blame like this:
git blame NAME_OF_THE_FILE
git blame triple_welcome.rb
You will see an output like this:
0292b580 (Jane Doe 2018-06-18 00:17:23 -0500 1) 3.times do
e483daf0 (John Doe 2018-06-18 23:50:40 -0500 2) print 'Welcome '
0292b580 (Jane Doe 2018-06-18 00:17:23 -0500 3) end
Each line is annotated with the SHA, name of the author and date of the last commit.
Aliasing Git Blame
Some programmers don’t like the word ‘blame’, because of the negative connotation ‘blaming someone’ brings with it. Also, the tool is rarely (if ever) used for blaming someone, but rather to ask for advice or understand the history of a file. Therefore, sometimes people use an alias to change
git blame to something which sounds a bit nicer such as
git history or
git praise. To do that you simply add a git alias like this:
git config --global alias.history blame
You can find more information about aliasing git commands here.
Text Editor Plugins utilizing Git Blame
There are a few plugins out there for various text editors which utilize
git blame. For example, to create something like heat maps or add inline information for the current line you are inspecting. A famous example is GitLense for VSCode.