Deployment via gh-pages branch
I find this the cleanes and robust approach to deploying website via gh pages. It deploys site through a separate branch called "gh_pages". That approach is a bit more complex but has some advantages:
- It keeps sources and generated HTML in two different branches
- It uses the default public folder
- It keeps the histories of source branch and gh-pages branch fully separated from each other