How to update a GitHub repo fork in the web interface without creating a merge/squash commit

github

All the solutions to syncing fork master to upstream master through GitHub web interface I've found suggest ways that will create a new commit in fork master. And that is by definition not syncing because they will differ after this. In theory it should be possible because whenever I use the Edit button on a file in upstream repo it creates a perfectly synced new branch in my fork in a moment. But simply creating a PR for getting upstream master in my fork gives three options:

  • Create a merge commit.: new commit -> Not syncing.
  • Squash and merge: new commit -> Not syncing.
  • Rebase and merge: unavailable even though I didn't touch the fork master, see screenshot below.

screenshot, the text on it says This branch cannot be rebased due to conflicts. Rebasing the commits of this branch on top of the base branch cannot be performed automatically due to conflicts encountered while reapplying the individual commits from the head branch.

What conflicts? How is it possible? Is there really no way?

Ok, I'm only 99.99% sure I didn't change the master in my fork, how do I find out which commit is different using CLI on local clone if they do differ?

It's not a duplicate of How do you update a GitHub repo fork in the web interface? because that one doesn't require there to be no new commits.