We use a subtree deployment a lá this Gist to deploy a subdirectory of our Yeoman project. In our case, the branch is called production, not gh-pages.
I've just enhanced the answer of ele adding generic expressions <> to make it more clear:
git push `git subtree split --prefix `: --force
Example values
origin
other-origin-name
https://github.com/full-url/of-repo
Local folder relative to repo root (execute this command in root), e.g.: /dist
master
any-other-branchname