I wondered if any of you knew of a tool that would allow me to select a line in my code and then view a list view of the history of that line on a commit-by-commit basis.
Does anyone know of such a tool?
Maybe annotations in IntelliJ IDEA is that you are looking for:
If you would like to view inline such information then you may add GitToolBox plugin. Live example on YT
I know only the IntelliJ IDEA "Viewing Changes History for Selection" feature.
You could also try to use several git blame commands to iterate over history of a fragment.
git-blame shows what revision and author last modified each line of a file.
When you are interested in finding the origin for lines 40-50 for file foo, you can use the -L option like so (they mean the same thing — both ask for 11 lines starting at line 40):
git blame -L 40,50 foo.txt
git blame -L 40,+11 foo.txt
You can specify a revision for git blame to look back starting from (instead of the default of HEAD) if you want to find out who edited that lines before a specific commit (fe25b6d in this example; fe25b6d^ is the parent of fe25b6d):
git blame -L 40,+11 fe25b6d^ -- foo.txt
git-log shows commit logs.
You can specify -L option to trace the evolution of the line range given by ",". You can specify this option more than once.
git log -L 40,50:foo.txt
As suggested in one of the comments in Can Git show history for selected lines?
git show $(git blame example.js -L 250,260 | awk '{print $1}')
more info: Every line of code is always documented.