Best Git Tools Recommendation for Organization

Posted by

With variety of Git tools now-a-days, it’s imperative to choose correct one. Git is the cornerstone of any product company. Most of the time, it’s inclusive in nature. I’ve had a chance to work with few fortune companies and I witnessed a trend of migrating from one git to another. While the effort is time consuming and more of a cultural shift, from technical perspective, it is also very tedious. Nevertheless, I found following objectives are quite common in nature and they cater for a stable, reliable, and future-proof git environment.

  • Faster, Simpler & Intuitive UI for Majority Git Operations
    • Better UI caters to better search experience
  • Easier Administration
    • Simple to define user/groups with appropriate permission level (owner, read, write)
    • 3Rs – Right Code, Right Access & Right Time
  • Cost
    • Various cost options (Cloud vs Server) must be evaluated to get optimal licensing
  • Seamless Integration
    • Integration of external tools and services like ticket management, ITSM tools, Wiki, Other Git support (Mercurial etc.)
  • Version Upgrades
    • Always upgrades to latest and greatest option available
  • Scalability & High Availability
    • There must not be a single point for failure. The instance must be highly available at all times of operation.
    • Instance must be scalable & capable of rapidly provision extra capacity with no downtime and maintain license based on users not by clusters
  • Resiliency & Fail-over
    • A resilient system always help to focus on making the right decisions at the right time
    • For the Repository Management application to become resilient, it must have the ability to monitor/detect changes, respond to events, learn from events and have the ability to anticipate change and prepare for it.

Following picture depicts few key feature expectation from GIT tool.

Git Tool Key Features

BitBucket provides following 3 different models to deploy Git:
1. Cloud 2. Server 3. Data Center
Following diagram illustrates the feature comparison among different options. (Pic Courtesy: BitBucket.org)

GitHub primarily comes with 2 flavors. The SaaS model, i.e. GitHub.com and the other one is GitHub enterprise for enterprise deployments. Following table highlights the key features of both the versions

In order to come up to a conclusion, I’ve made a MoSCoW list. Let’s look at the list primarily for GitHub, BitBucket & Gitlab. MoSCoW stands for: Must have, Should have, Could Have & Won’t have. They are defined as below:

Here is the sample sheet I’ve prepared for Git tool comparison

Here is the embedded excel for the comparison. 

P.S. – I had some comments in the cell, which is not visible here. You can get a copy here.

Though it’s understood that there are many factors depending on the environment the client operates, I feel the following are of utmost important and contributes majorly towards making a successful decision. They are outlined below:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s