Today I finally took the time to learn and use
git bisect to find the commit that introduced a change in behaviour I wasn't expecting. Oh man, what a timesaver. I had my bad commit within ten steps out of a possible 89 commits. The offending commit wasn't obviously the cause from the commit message either. Can't believe it took me this long, but it'll definitely be coming up often from here on out.