On keeping your gh-pages and master branch in sync

When I first started using Github pages for projects with static demos, I worried a lot about keeping my master branch in sync with my Github pages branch. I scoured the web for approaches and found several, but they always seemed like a hassle.

I eventually landed on an approach that’s so simple I don’t even have to think about it: Just get rid of master and let the gh-pages branch be the main branch for your code.

First, you’ll want to make sure you’ve got both a master and gh-pages branch up on Github. Then, on your project page, click the branches tab to see your branches:

Simply click to change the default branch to gh-pages, and use the trash icon (like the one circled above) to delete your master branch (you’ll want to make sure your gh-pages branch is identical to master before you delete master).

In retrospect, it seems so obvious. A branch is a branch, and “master” is just a name. If your repo uses gh-pages as its master then you’ll never have to keep branches in sync again. That’s my kind of solution.


This approach is no longer necessary, now that Github lets you use master, or a /docs folder for github-pages.