TrustRadius: an HG Insights company

Git

Score10 out of 10

73 Reviews and Ratings

What is Git?

The cornerstone of collaborative development

Use Cases and Deployment Scope

Git is a software version control system that enables distributed collaboration of engineers working all over the world. It allows for development on parallel features, acting as the source of truth for code, and also detects and helps solve conflicts that might arise from collaboration on the same files.

I'd say Git is one of those systems that are pretty much omnipresent when it comes to the Tech industry at this point. I haven't come across a simpler, better distributed version system yet.

Pros

  • Version Control
  • Conflict Resolution
  • Collaborative Work

Cons

  • UI
  • Learning Curve

Return on Investment

  • No lost code. From the moment the code is submitted to Git, it's safe, and a lost/stolen computer, or any other problem that affects a particular collaborator's equipment will mess with it.
  • It's open source and free.
  • There's a huge and very active community that use Git, meaning there are continuous improvements

Git is the VCS King

Pros

  • Better merges than anything else.
  • Logging.

Cons

  • Still some confusing merge issues.
  • I would like to see a system IDEs can use that automatically notifies you if someone pushes.

Return on Investment

  • It helps diagnose issues by tracking them down.
  • It helps to show who did the problem.

Other Software Used

Drupal, Acquia Platform, Vagrant

Git it today

Pros

  • Git has a very small footprint and works seamlessly on all major platforms.
  • Git's branch management model is wonderful and simple, especially when compared to some other VCS tools I've used.

Cons

  • Git has no native GUI. This means that if you want a GUI you're reliant on third party software in addition to Git.
  • Git Repository configuration is done at the host level which makes it difficult to enforce certain requirements, like with Git hooks for example.

Return on Investment

  • Provided a simple interface for developers to manage code.
  • Works seamlessly across multiple platforms.

Other Software Used

DBeaver, PhpStorm, Ubuntu Linux, CentOS, Chrome DevTools, Heroku Platform

Every developer should be using Git

Pros

  • Source control
  • Collaboration

Cons

  • Difficult for people who aren't used to the command line (but there are apps for that).
  • Some specific situations where it's difficult to figure out the right way to do things.

Return on Investment

  • It's free, so really nothing to lose there.
  • Code is distributed, so we are able to work offline.

Alternatives Considered

Apache Subversion and Mercurial

Other Software Used

Sketch, Oracle VM VirtualBox, Bitbucket

Git - An Absolute Must

Pros

  • Codebase versioning
  • Synchronizing multiple programmers on the same codebase
  • Helps following changes in the codebase, and an easy tool for keeping a stable codebase at all times on local machine and common server

Cons

  • The .git folder sometimes can mess up a little. We had to reset some repos before because of unstable repository states
  • I feel like there is still room for improvement for a better code merging tool
  • CLI outputs sometimes are a bit hard to use, for instance, git log's output is quite ugly

Return on Investment

  • Quite hard to compare to anything, but every company I worked for that did not use Git had some serious trouble and a lot of overhead working with different versions of the same codebase.
  • Where we use Git, the codebase versioning is the least of our problems. It had given us a lot of extra time to work on the project instead of synchronizing the code.
  • Only possible overhead happens if someone in the team is not familiar with Git and makes some mistakes, which can be quite hard to undo.

Alternatives Considered

GitHub

Other Software Used

IntelliJ IDEA, GitHub