I am accustomed to the practice that:
I initially create a repository in GitHub,
Prepare a readme there and finally commit.
When I am ready to push my work from my local (which has a repo created independently/locally) to my Github repo, I point it using git remote and then pull.
This steps I assume will always work but suddenly I encounter the error "Refusing to merge unrelated histories..."
After googling it, the culprit is git version. My local git shows version 2.4.
Github is always updated in release, hence the error occurred. Starting Git 2.9 release, the merging of different base history is no longer allowed. For more information please visit this link: https://github.com/git/git/blob/master/Documentation/RelNotes/2.9.0.txt#L58-L68
The solution: Escape it, by passing the option: --allow-unrelated-histories