Git is such a fantastic tool for developers, and it has saved me on numerous occasions in personal and professional projects. However, the one aspect of Git that I was never fond of was the cost of private hosted Git repository services. Services like GitHub, Springloops, and Beanstalk all charge for such a limited amount of space and such a low cap on the number of private projects that developers always seemed to be getting the shaft.
Despite that, I caved last year and upgraded my GitHub account to a paid plan so that I could start pushing my private code to the cloud for safe keeping. For the past twelve months, I've seen the monthly notification in my inbox that GitHub had charged their rent to my credit card, and every month I've felt like a sucker. Not when Rdio collected payment would I get upset. Not when Netflix took their scoop would I get upset. But GitHub, "aw man", I'd think, they are really winning here. They are charging me money for what was such a simple thing; just a few megabytes of disk space amongst petabytes.
But there were little alternatives. Sure, it isn't that hard to install Git on a server, and it's not that much harder to allow other hosts to push to it remotely. But that takes time, and there's no way in that scenario to automate the creation and management of the individual repos. It just wasn't the same as the nice web interfaces offered by the big boys. Again, I was stuck. That was until, I recently saw talk of GitLab gaining traction. What was this? An open-source Git web interface? It seemed too good to be true.
Touring the features on the site, I saw that GitLab's feature set was a near-clone of GitHub's popular features. You can have public or private repositories, work alone or with collaborators, group repos into organizational units, and view all styles of useful data on repos such as popular committers and branch displays. GitLab seemed to be the answer to all of my hosted Git anxieties.
With a healthy bit of skepticism in hand, I logged into my Amazon EC2 server tonight and began the rather lengthy install process for GitLab. Install processes that long always make me nervous. Seeing all of those make commands and strict version requirements told me that I'd surely be bailing out by step three. To my joy and surprise, the install procedure was perfect. End-to-end the install guide accounted for detailed variations a user's system might have and offered suitable workarounds to make the software functional. Within 40 minutes I was up and running with my own private Git repository service.
GitLab's interface was a breeze to use, making the transfer of my private projects such as TruckToMe and WearWhat simple and fast. GitLab is an amazing open source project that is ready for the big game in professional development teams. For those teams , GitLab frees them from the bounds of limited Git services that prevented them from better collaborating and better managing their code. For me, GitLab just takes away some anxiety.