Is there a way I can write blogs on Medium but still have those version maintained on GitHub? Or write them on Jekyll GitHub pages and have them post to Medium?
Basically version control your Medium blog preferably on GitHub.
You should be able to publish your blog normally and then run a tool like https://github.com/aarongustafson/jekyll-crosspost-to-medium that just posts the blog contents to Medium using their API. If you don't want to install that (if you're using GitHub Pages you can't), you should be able to write your own tool running outside of the GitHub infrastructure, in your own computer, very easily.
However, doing the syndication to Medium manually is probably the best option if you're just talking about your own personal blog.
You may also be interested on https://brid.gy/. It doesn't do exactly what you want because it doesn't support Medium yet, but it is specialized in fetching content from your own blog (can be a Jekyll blog on GitHub) and syndicating to big-silo social networks.
I think there are many medium to GitHub pages doc transfer websites but the easiest way would be to use the view source code option on your web browser and copy and paste the necessary code. Good luck!