How do I push jekyll _site directory to gh-pages branch, and leave the source in master?
git, github, github-pages, jekyll
Solution
A less painful solution:
- Checkout your branch, where your build-source is located (maybe `src`, or `master`)
- (Optional: Add `_site` to your `.gitconfig`, so it get's ignored, if not already done)
Remove all content of the `_site` directory:
`$ rm -r _site/* `
Clone your repo's `gh-pages` branch into the `_site` directory:
`$ git clone -b gh-pages `git config remote.origin.url` _site`
Final steps: Just let jekyll build, do commit & push:
`$ jekyll build`,
cd into `_site`:
`$ cd _site`,
target all files for commit:
`$ git add -A`,
commit them:
`git commit -am 'Yeah. Built from subdir'`
and push your site to GitHub-Pages:
`git push`.
Problem
I have a basic jekyll site consisting of pages (not posts) but, because I wanted to sort the pages when I listed them, I had to use the Jekyll-Sort plugin (kinda weird sorting pages is not built in to jekyll). Because I'm using a plugin, I can't leverage GitHub's auto jekylling. So I'd like to push the source code of the project to the `master` branch and just the `_site` directory to the `gh-pages` branch. I can't figure out how to do this - I tried adding a git repo inside the `_site` directory to push that to `gh-pages` but every time I run `jekyll` it erases that entire directory and I lose the `.git` folder. Any suggestions? Or a way to natively sort?