Sure, but in bigger projects there's going to be thousands of commits and hundreds of thousands of lines in a diff; reading code becomes infeasible then.
But it's the only way if there's no commit message discipline, and even if there is it'll be difficult.
But it's the only way if there's no commit message discipline, and even if there is it'll be difficult.