Gitblit is an open-source, pure Java stack for managing, viewing, and serving Git repositories.
It's designed primarily as a tool for small workgroups who want to host centralized repositories.
Gitblit GO is an integrated, single-stack solution based on Jetty.
You do not need Apache httpd, Perl, Git, or Gitweb. Should you want to use some or all of those, you still can; Gitblit plays nice with the other kids on the block.
This is what you should download if you want to go from zero to Git in less than 5 mins.
Gitblit WAR is what you should download if you already have a servlet container available that you wish to use. Jetty 6/7/8 and Tomcat 6/7 are known to work. Generally, any Servlet 2.5 or Servlet 3.0 container should work.
Gitblit can be used as a dumb repository viewer with no administrative controls or user accounts.
Gitblit can be used as a complete Git stack for cloning, pushing, and repository access control.
Gitblit can be used without any other Git tooling (including actual Git) or it can cooperate with your established tools.
The SSH, HTTP, & GIT protocols are supported and ready-to-go out of the box.
Gitblit blends elements of GitHub, BitBucket, and Gerrit to provide a streamlined collaboration workflow based on branches within the primary repository.
Administrators can create and manage all repositories, user accounts, and teams from the Web UI.
Administrators can create and manage all repositories, user accounts, and teams from the JSON RPC interface using the Gitblit Manager or your own custom tooling.
Administrators can create and manage all repositories, user accounts, and teams from the command-line using SSH & the Powertools plugin.
Gitblit includes a backup mechanism (*federation*) which can be used to backup repositories and, optionally, user accounts, team definitions, server settings, & Groovy push hook scripts from your Gitblit instance to another Gitblit instance or to a Gitblit Federation Client. Similarly, you can use the federation mechanism to aggregate individual workspace Gitblit instances to a common, centralized server.
Gitblit requires a Java 7 Runtime Environment (JRE) or a Java 7 Development Kit (JDK).