I struggled with the same problem and came up with similar ideas, such as Ryan and Adam Dymtruk, and found them not very satisfactory: comparing the final analysis is difficult and also does not show you where the βerrorβ was introduced if you find it.
In my current rebuild workflow, there is a comparison of each reinstalled commit with the original, so I can identify and fix potential errors as they occur and not restart again. I use the following pair of git aliases to facilitate this:
rc = !git diff -w $(cat .git/rebase-merge/stopped-sha) > .git/rebase-merge/current-diff rd = !git diff -w $(cat .git/rebase-merge/stopped-sha) | diff
git rc stores the difference between the latest HEAD version from a branch that is reinstalling. After replaying the next commit, git rd compares this saved diff with the difference between the new HEAD and the next commit on the branch allocation. Therefore, it shows that only the difference (βerrorβ) is introduced by replaying the last commit.
After checking diff, call git rc to update the saved diff and continue rebase.
Instead of manually calling git rc and git rd you can even add them to your git-rebase-todo so that they are called automatically after replaying each commit.
kynan source share