I think we've both said correct things, but I think you've missed my meaning: yes, I understand that Github Pages is static hosting, I was point out that by default the build system uses Jekyll. This is nonobvious.
This is in the docs: "GitHub Pages will use Jekyll to build your site by default. If you want to use a static site generator other than Jekyll, disable the Jekyll build process by creating an empty file called .nojekyll in the root of your publishing source, then follow your static site generator's instructions to build your site locally." (https://docs.github.com/en/github/working-with-github-pages/...). Netlify and CF will both run some other static site generators (e.g. Hugo in my case) for you, while Github Pages will run Jekyll (or you can build locally).
And yes, custom domains are free for public repos. I made a mistake reading the page about custom domains, which mentioned that private repos need a Github Pro account. You're also right about configuring any branch.
I don't use Jekyll and I have never set up a .nojekyll file. I don't know what that is meant to do, but you can deploy whatever you want and it will work just fine.
Maybe you need that file on the rare offchance that you're deploying a site that contains something that looks like a Jekyll config, but you don't want it to be built that way.
Yes, that's exactly the issue. I don't remember the exact file name, maybe it was a directory named "static". The behavior was not as expected, and only a Google search helped me figure out why files were disappearing.
This is in the docs: "GitHub Pages will use Jekyll to build your site by default. If you want to use a static site generator other than Jekyll, disable the Jekyll build process by creating an empty file called .nojekyll in the root of your publishing source, then follow your static site generator's instructions to build your site locally." (https://docs.github.com/en/github/working-with-github-pages/...). Netlify and CF will both run some other static site generators (e.g. Hugo in my case) for you, while Github Pages will run Jekyll (or you can build locally).
And yes, custom domains are free for public repos. I made a mistake reading the page about custom domains, which mentioned that private repos need a Github Pro account. You're also right about configuring any branch.