I'm a Norwegian software developer living and working in Bonn, Germany. I like to share what I know about stuff like Java, Agile, git and other things, whether it's at user groups, conferences, twitter or on my blog. Thomas Ferris has posted 9 posts at DZone. You can read more from them at their website. View Full User Profile

Gitblit - The Little Git Repo Manager That Could

07.24.2012
| 9644 views |
  • submit to reddit
I've been tweeting about Gitblit every now and then, and also recommended it to people who want to run some Git infrastructure on Windows.

Seeing Gitblit v1.0.0 was released a few hours ago (Google+), I would like to celebrate and congratulate the project with a two blog-posts. This is the first, and the second I hope to do soon in shape of some interviews with a couple of Gitblit users.

Uh, what is a Git repository manager?

It can be several things. Most people look for these features in a repo manager:

  • A central place to share repositories
  • A web-frontend for said repositories
  • Manages users and access-control 
Just to mention an alternative setup: At my dayjob, we use:
  • A simple folder on a Linux server to put central repositories, accessible over SSH
  • Gitweb as a web-frontend
  • Access-control with SSH users and certificates
We're quite happy with the above setup because we are a very Linux/Mac oriented shop, with a small team that have no fancy requirements on the access-control part. For a larger, Windows based shop it won't be so easy.
An alternative is to use Github, which is probably the best all-round solution for repository management. But it costs money, which can be a hard pill to swallow for some organizations.
Other free alternatives are Gitorious, Gitlab (wich uses Gitolite) and Gitolite, but I think these three are pretty Linux oriented.
Note that both Gitorious and Github are available in SaaS form (that is, you store the central repositories on their servers, so you don't need any infrastructure yourself), and they are free to use for open-source projects.

My favorite things about Gitblit


  • It's free/open source (Apache license).
  • Comes with authorization built in. No need to figure out OpenSSH on Windows (a lot of people really struggle with this).
  • It's Java. Call it a plus or a minus, but a cool consequence of this is that Gitblit has Groovy hooks.
  • Another consequence: Runs well on Windows.
  • Great just-works factor

Wait, who makes this Gitblit anyway? What's the catch?

No catch, it's just a project that was started to scratch an itch. It's a really charming story really. James Moger, the author of the project, wrote about it a while ago, and I recommend you give it a read.

A small tour of Gitblit

I just took version 1.0.0 for a spin on my Ubuntu laptop. Downloaded the Gitblit GO, unzipped and started with java -jar gitblit.jar (could it be any easier?).

Just started Gitblit GO, no configuration necessary
Browse to https://localhost:8443/ and there it is (it generates a self-signed https certificate if you don't tell it otherwise, that's why you get a warning in your browser).

First view of Gitblit. You'll need to log in as admin/admin top-left there to start creating repos
Just created an empty repo. Note the helpful instructions for getting started.
Note that I had to do:
git config http.sslVerify false 
in my local repository before I could push as described above (more about this in the Gitblit Setup docs).
First repo up and running!
Managing users and teams in Gitblit

Pretty, isn't it? It also runs well on Windows of course, also as a Windows service (with the right coctail of Java versions and configuration).
There are more screenshots on the Gitblit homepage, and also a live instance you can try out.
I'll come back to some more reasons on when or why you should choose to run Gitblit in the next blog post.
Published at DZone with permission of its author, Thomas Ferris Nicolaisen. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Fabio Canepa replied on Wed, 2012/07/25 - 12:50am

Thats what's I was searching for! It looks very promising and it's also well documented 

Congraturation to the gitblit teams!

 

Fabio 

John Crygier replied on Wed, 2012/07/25 - 7:46am

Great to see news about Gitblit here.  We started using Gitblit about 2 months ago in our quest to move from SVN to Git, and it's been great.

We're a closed-source shop, so using Github was out of the question (as we don't want our source code leaving our infrastructure).  So I originally started researching Gitorious.  After about a week of difficult work, I finally got Gitorious working on a linux box...but it was still not working 100%.  Then I stumbled upon Gitblit....and was up and runing 5 minutes later.  Ultimately, we decided to go with gitblit, since it was open-source, and using the same tech stack we were using (Java-based Web App).

The only thing missing was LDAP integration, so I worked with James to get that integrated (he's a great guy to work with).  I'm pleased to say that we're now becoming a Git shop, and Gitblit was a major player in getting us to where we are.

Congratulations on 1.0.0!!! 

Sura Sos replied on Wed, 2012/07/25 - 9:01am

Thanks, I was looking for a git web-frontend like github. This looks great. It looks that it also has blog engine similar to github.

Abhishek Choudhary replied on Wed, 2013/11/13 - 10:40am

Nice article. I mainly knew about gitblit in cloud environment and found its quite stable and featured.http://blog.jelastic.com/2013/03/01/deploy-your-code-faster-gitblit-in-the-cloud/

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.