These assume a default sphinx build directory of doc/_build
.
Makefile target (don't forget the tabs before the target body lines):
git-clean: git clean -fxd html: cd doc && make html gh-pages: git-clean html git co gh-pages git rm -r . git checkout HEAD -- .gitignore README.md .nojekyll cp -r doc/_build/html/* . # your sphinx build directory git stage . @echo 'Commit and push when ready or git reset --hard && git checkout master to revert'
Make a new empty gh-pages
branch:
git checkout --orphan gh-pages git reset --hard git clean -fxd
Make some files for working with github pages in this branch:
# Ignore the doc and doc build directory echo "doc/" > .gitignore echo "Github pages for project" > README.md touch .nojekyll git add .gitignore .nojekyll README.md git commit -m 'Initial commit'
Set the upstream for this branch:
git push <your-github-remote> gh-pages --set-upstream
Now go back to the master branch:
git co master make gh-pages