Git: Who has modified this line?
GitGit Problem Overview
If I found a bug in my application, sometimes I need to know which commits have affected to the bug source code line. I'm wondering which is the best approach to do it with Git.
Git Solutions
Solution 1 - Git
To see commits affecting line 40 of file foo:
git blame -L 40,+1 foo
The +1 means exactly one line. To see changes for lines 40-60, it's:
git blame -L 40,+21 foo
OR
git blame -L 40,60 foo
The second number can be an offset designated with a '+', or a line number. git blame docs
Solution 2 - Git
I'd use the git blame
command. That's pretty much exactly what it is for. The documentation should get you started.
Solution 3 - Git
git blame filename
is the best command to show you this info
Solution 4 - Git
If you only need the last change:
git blame
Otherwise, you could try to automatically find the offending change with
git bisect
Solution 5 - Git
You can use
git annotate filename (or)
git blame filename