Gitblit is an open source, pure Java Git solution for managing, viewing, and serving Git repositories. It can serve repositories over the GIT, HTTP, and SSH transports; it can authenticate against multiple providers; and it allows you to get up-and-running with an attractive, capable Git server in less than 5 minutes.
More information about Gitblit can be found here.
Gitblit is distributed under the terms of the Apache Software Foundation license, version 2.0. The text of the license is included in the file LICENSE in the root of the project.
Gitblit requires at Java 7 Runtime Environment (JRE) or a Java 7 Development Kit (JDK).
Source | Location |
---|---|
Documentation | Gitblit website |
Issues | Google Code |
Forums | Google Groups |
@gitblit or @jamesmoger | |
Google+ | +gitblit or +jamesmoger |
GitHub pull requests or Gitblit Tickets are preferred. Any contributions must be distributed under the terms of the Apache Software Foundation license, version 2.0.
Workflow
Gitblit practices the git-flow branching model.
- master is the current stable release + fixes accumulated since release.
- develop is the integration branch for the next major release.
- ticket/N are feature or hotfix branches to be merged to master or develop, as appropriate.
Feature Development
Development of new features is mostly done using Gitblit Tickets hosted at dev.gitblit.com. This allows continuous dogfooding and improvement of Gitbit's own issue-tracker and pull-request mechanism.
Release Planning
Release planning is mostly done using Gitblit Milestones and Gitblit Tickets hosted at dev.gitblit.com.
Releasing
When Gitblit is preparing for a release, a release-{milestone} branch will be created, tested, & fixed until it is ready to be merged to master and tagged as the next major release. After the release is tagged, the release-{milestone} branch will also be merged back into develop and then the release branch will be removed.
Gitblit uses submodules.
Make sure to clone using --recursive
OR to execute git submodule update --init --recursive
.
Eclipse is recommended for development as the project settings are preconfigured.
- Import the gitblit project into your Eclipse workspace. There will be lots of build errors.
- Using Ant, execute the
build.xml
script in the project root. This will download all necessary build dependencies and will also generate the Keys class for accessing settings. - Select your gitblit project root and Refresh the project, this should correct all build problems.
- Using JUnit, execute the
com.gitblit.tests.GitBlitSuite
test suite. This will clone some repositories from the web and run through the unit tests. - Execute the com.gitblit.GitBlitServer class to start Gitblit GO.
- If you are running Ant from an ANSI-capable console, consider setting the
MX_COLOR
environment variable before executing Ant.set MX_COLOR=true
- The build script will honor your Maven proxy settings. If you need to fine-tune this, please review the settings.moxie documentation.