My Web Adventures

A blog for hackers by a dinosaur hacker.


I am using Octopress to publish this blog.

I am using Windows 7 for daily work so had to install Octopress and GitHub on a Windows machine. I am planning to write a series of tutorials on the problems I faced making all work together with Windows.

I just want to make a brief note about the confusion I had when I tried to understand Octopress: The repository structure.

You have to have named repository at GitHub to use GitHub Pages. The repository of this blog is: You can also have project pages, but that is another topic for a blog post.

Octopress manages two branches in your repository:

  1. master branch:

    This is the actual branch that GitHub uses to publish your blog. When Github sees a push to this branch, they republish your content.

  2. source branch:

    This contains the source of Octopress AND your blog posts. Octopress generates the content from this branch and puts everything in a “_deploy” directory which is the actual “master” branch which is then pushed to GitHub. You have to remember to commit and push the “source” branch yourself.

The bottom line is “master” is the generated blog, and the “source” is the raw stuff. They are not actually branches of a source tree in a usual sense. These two branches are completely different thigs which you should never manually deal with. This is kind of a hack that I had to understand, and which probably was the source of quite a bit of a confusion.