I'm using Github Pages to host & serve a static website.
The static website has the typical directory structure for an app:
There is a detailed gist with all the required steps.
The gist is here:
Deploying a subfolder to GitHub Pages
Sometimes you want to have a subdirectory on the
masterbranch be the root directory of a repository’s
gh-pagesbranch. This is useful for things like sites developed with Yeoman, or if you have a Jekyll site contained in the
masterbranch alongside the rest of your code.
For the sake of this example, let’s pretend the subfolder containing your site is named
distdirectory from the project’s
.gitignorefile (it’s ignored by default by Yeoman).
Make sure git knows about your subtree (the subfolder with your site).
git add dist && git commit -m "Initial dist subtree commit"
Use subtree push to send it to the
gh-pagesbranch on GitHub.
git subtree push --prefix dist origin gh-pages
Boom. If your folder isn’t called
dist, then you’ll need to change that in each of the commands above.
If you do this on a regular basis, you could also create a script containing the following somewhere in your path:
#!/bin/sh if [ -z "$1" ] then echo "Which folder do you want to deploy to GitHub Pages?" exit 1 fi git subtree push --prefix $1 origin gh-pages
Which lets you type commands like:
git gh-deploy path/to/your/site