Github Enterprise is basically a local installation of the famous service at github for your company or organisation. Although it comes with a quite a pricetag. In this post I want to show some alternatives that allow you to run a git server on your private network or on any server on the web.
I’m not going to go much into detail with the servers that work exclusively on the command line, but focus on the alternatives that have reasonable git web interfaces.
Full disclosure:I’m currently writing a book on this, so you could say this is my personal favourite. Read more
Update: It’s been published, take a lookt at: GitLab Repository Management!
GitLab is written in ruby and comes, besides the web interface, with its own command line tool to handle git connectivity called gitlab-shell. It’s primarily focused on closed source projects, which is why the availability of public repositories is a little limited. It basically gives users access to git, but not the web interface, unless they chose to create a user.
- Repository access
- Code review
- Merge Requests
Gitea is a fork of Gogs, but seems to have more traction than the original. It’s written in Go and fairly easy to set up. Gitea is not the most feature rich, but it’s a pretty solid alternative. There is no publicly hosted service, but this one is purely for running the server yourself.
- React powered frontend
- Go Backend
- Activity Stream
Update: Gitorious has been acquired by Gitlab and is no longer available.
Gitorious is another great project written in ruby and operating at a very large scale with their open source hosting at no cost model, similar to githubs.
- Project hosting
- Hosting of official project repositories
- Hosting of project repository clones
- Project wikis
- Public merge requests and code review
- Project activity timeline
- Developer profiles and activity timelines
- Built in notification systems
- Free for opensource projects
- Commercial support and customizations available
- svn to git migration
- pull requests
- branch permissions
- issue tracker through JIRA
and a lot more. I haven’t actually looked at more than the material provided on their site, because for a meaningful test, I’d have to integrate it with their other products and services. I included this solution, because Atlassian acquired bitbucket, which has git support in 2010.
Other Git Web Frontends & Command Line
The wiki at kernel.org has a long list of tools and web frontends for git, which probably covers most projects ever written in the context of git. Pick the tool that fits your needs. After I got started on github and tried it out with a fellow student, I’ve found it quite nice to move to a server with a web interface, also to involve git newcomers. It’s just nice to have something reliable that works independent from where you are in the world and what git clients or operating systems you have access to.