Even without built in options, writing a for-loop over the result of git log or rev-list is more or less two lines of scripting. Same with a walk over rev-parse HEAD^.
Then you also have git bisect but that's more for finding when some metric started to show anomalies.
Then you also have git bisect but that's more for finding when some metric started to show anomalies.