I chose to use Cloudflare because offers a free tier for SSL. Note that the certificate issued to you will be from \*.cloudflaressl.com and is not considered full SSL because the connection from CloudFlare and Github Pages may not be secure. However, your site will behave as if it had full SSL and will offer security against attacks such as those on unsecured networks.
Make sure all the records autogenerated by CloudFlare matches the records you have with your domain registrar
Update the nameservers to point at the ones provided from CloudFlare with your domain registrar
Your site(s) should be served over https within 1-48 hours
Other considerations
Changing your site to HTTPS is similiar to moving to a brand new URL, so it is important to consider the effect it will have on SEO. In 2014, Google announced that switching to HTTP will give a minor ranking boost. Google also has a guide for URL changes.
Redirecting your users from HTTP to HTTPS can be done with Cloudflare with page rules or with plain javascript.
var host = “<yourwebsite>.com”;
if ((host == window.location.host) && (window.location.protocol != “https:”))
window.location.protocol = “https”;
That’s about all I had to do to make sure the transition to HTTPS was smooth. For bigger sites, more things would need to be considered such as robots.txt, sitemaps, external links (social media), analytics, etc. Do your research!