https://github.com/{org}/{repo}/compare/{commitish1}..{commi...
Example:
https://github.com/facebook/react-native/compare/0.65-stable...
https://github.com/{org}/{repo}/compare/{commitish1}..{commi...
Example:
https://github.com/facebook/react-native/compare/0.65-stable...
The PR interface actually exposes this for force-pushes, but the UI discovery for this is horrible. It turns out that the "force-pushed" part in the little message in the github UI is actually a link. This link points to the diff between the old and the new HEAD of the branch.
As an example you can look at this PR:
https://github.com/JelteF/derive_more/pull/161
It has this little message somewhere down the page:
Monadic-Cat force-pushed the add-unwrap branch from e130dbe to 25235aa 4 months ago
If you then click "force-pushed" in that message you go to the "compare" page, which shows the diff between the two commits:
https://github.com/JelteF/derive_more/compare/e130dbe6b2a429...
Disclaimer: I'm a Micrsoft employee, but don't work on Github. I'm a daily user of Github though.