Did you know that you can set an upstream branch in emacs magit?
When set, you can see all commits you did compared to upstream and can more easily compare to the upstream with this little function:

(with-eval-after-load 'magit
(transient-append-suffix 'magit-diff "r"
'("u" "Diff upstream..HEAD" (lambda ()
(interactive)
(magit-diff-range (concat (magit-get-upstream-branch) "..HEAD"))))))

Pressing `d u` in magit status basically gives you a GitHub pull request view.
#emacs

I just realized that binding to `d u` will clobber the magit default "Diff unstaged" function. Better bind to `d U` and also load after `magit-diff`:

(with-eval-after-load 'magit-diff
(transient-append-suffix 'magit-diff "r"
'("U" "Diff upstream..HEAD" (lambda ()
(interactive)
(magit-diff-range (concat (magit-get-upstream-branch) "..HEAD"))))))

@darkunicorn `transient-detect-key-conflicts` could have helped here, presumably.

@jksc Awesome! I didn't know about this, thanks! So this would be better (if one doesn't set the option somewhere else anyway):

(with-eval-after-load 'magit-diff
(setq transient-detect-key-conflicts t)
(transient-append-suffix 'magit-diff "r"
'("U" "Diff upstream..HEAD" (lambda ()
(interactive)
(magit-diff-range (concat (magit-get-upstream-branch) "..HEAD"))))))