Best way to setup ghost with Github pages

The closest thing that is officially provided by Ghost would be the gatsby-starter-ghost, which uses Gatsby as a static site generator and Ghost as a CMS - you can read about it here: Build A Custom Static Site With Headless Ghost + Gatsby

You could then look at the Gatsby docs to see how to deploy to GitHub pages, there’s an intro to it here: How Gatsby Works with GitHub Pages | Gatsby