If you are committed to using two different repositories rather than just a different branch I would recommend setting up two different remote repositories in your local development repository. I'm guessing this is what your current repository layout looks like.
local development repository (LDR) --> remote development repository (RDR)
local production repository (LPR) --> remote production repository (RPR)
This is probably what you want your repository layout to look like.
local development repository --> remote development repository
\
`-> remote production repository
With the first layout, the development repositories and the production repositories may share the exact same files, but they have completely different commits. This makes trying to sync them a very manual task. Basically you have to copy all the files from LDR to LPR and create a new commit and push that to RPR.
To achieve the second layout, you can issue the git remote add <name_of_remote> <github_address>
command within the context of LDR. For example:
git remote add production https://github.com/[organization]/production-repo.git
This would allow you to call git push production master
whenever you would like to push the changes you have in LDR to RPR.
Note If you have already pushed from LPR to RPR, you are a little stuck. Since the repositories are completely different, when you try and push from LDR to RPR you will probably get some weird warning messages. Not sure what they will be off the top of my head. You may have to delete RPR on GitHub and recreate it. That or you can use the always very dangerous force push.