In my day job, I sometimes get told to make changes that I suspect will cause problems in some edge case which we might not see for months. It seems like the responsible thing to do is to leave the trustworthy version of the code there for the benefit of whoever has to fix the problem when the shit hits the fan.
I understand that reality is more complex than this, but
git bisect
That should identify the/your commit in (usually) < 10 tests. At which point the previous code is still intact.
Or
git blame
and look at the problematic lines, see who changed it and when. Now look at the git log (filtered just for this file if you want) and identify the last changes to this part of code that way.
More complex than just
// timestamp, initials: Changed foo, commenting the following 100 lines out
maybe, but makes the day to day code so much more readable.