Jeykll is awesome, and git is awesome. Combining them yields a frothy mix of intense geeky appeal and hacker fun. As I mentioned in my previous blog, I’ve yielded to the recent trend of hosting my personal site via a static-site generator, fed some really basic markdown files and layouts, and of course all kept organized and versioned via git.
So far, this is what is settling down to be my workflow:
- Make all design and site layout/template changes on the
masterbranch. This means the change log onmasterwill just show site platform changes. - Commit drafts, blog posts, and other content creation on the
draftsbranch. This allows all the content stuff to stay in one place. - The deployed site will be kept on the
live-sitebranch. I’d like to eventually script in some sort of post-commit hook so pushing to this branch would automagically publish to the web.
So, if I want to sit down and write some posts, I’ll commit freely and often to drafts, and when finished, cleanup the commits and merge into the live-site branch. I can do the same thing for master with design changes, but I’d run a git merge --no-ff in order to preserve the current master branch that isn’t cluttered with all of my posts.
The end result is a clean master commit history that only shows changes to the actaully site and not all of my various content commits.