Adding a merge commit is how load requests work. This is part of the normal branch merging process in Git, and saves the history explicitly when the branch merges into another.
As for keeping the forked repo in sync with the upstream repo, AFAIK Github does not support this. This basically requires that you select both remote controls locally and combine the upstream branch (in this case, the master) into one branch in your forked version.
I am sure that any Git link can describe this in more detail, in much better way than I can.
hlfcoding
source share