Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Current version of the site
JavaScript CSS HTML Ruby
Failed to load latest commit information.
app Merge pull request #150 from waitingallday/master
config move some codes to books controller
db add local indexing back as another task
doc rails gen
lib Replace lib/asciidoc.rb with the asciidoctor gem
log rails gen
public Merge pull request #135 from github/gh4w
script working on the travis-ci script
templates Fix anchor href rendering for Section anchors
vendor/assets basic search functionality
.gitignore Add .sass-cache/ to .gitignore
.travis.yml Stop emailing builds to support, thanks.
Gemfile Replace lib/asciidoc.rb with the asciidoctor gem
Gemfile.lock Replace lib/asciidoc.rb with the asciidoctor gem
MIT-LICENSE.txt Merge remote-tracking branch 'origin/default-os-monitor' Add Travis Status image
Rakefile fix some css issues
TODO.txt rails gen

Git Homepage Build Status

This is the web application for the site. It is meant to be the first place that a person new to Git will land and download or learn about the Git SCM system.

This app is written in Ruby on Rails and deployed on Heroku.


You'll need a Ruby environment to run Rails. First do:

$ rvm use 1.9.2
$ bundle install

Then you need to create the database structure:

$ rake db:migrate

Now you'll want to populate the man pages. You can do so from a local Git source clone like this:

$ GIT_REPO=../git/.git rake local_index

Or you can do it from GitHub (much slower) like this:

$ rake preindex

Now you need to get the latest downloads for the downloads pages:

$ rake downloads

Now you can run the Rails site to take a look. Specify an UPDATE_TOKEN so you can use the world's stupidest authentication mechanism:

$ UPDATE_TOKEN=something rails server

The site should be running on http://localhost:3000

Now you'll probably want some book data. This is more complicated. You'll have to clone the progit sources, run the server and then run the populating rake task:

$ cd ../
$ git clone git://
$ cd gitscm
$ UPDATE_TOKEN=something rake genbook GITBOOK_DIR=../progit/ GENLANG=en

That will generate the book content from the markdown and post it to the Rails server. If you have the server running elsewhere, you can overwrite the CONTENT_SERVER environment variable.


To run the tests for this project, run:

$ rake test

To run the website for testing purposes, run:

$ bundle exec rackup


If you wish to contribute to this website, please fork it on GitHub, push your change to a named branch, then send me a pull request. If it is a big feature, you might want to contact me first to make sure it's something that I'll accept. If it involves code, please also write tests for it.


This source code for the site is licensed under the MIT, which you can find in the MIT-LICENSE.txt file.

All graphical assets and are licensed under the Creative Commons Attribution 3.0 Unported License.

Something went wrong with that request. Please try again.