Git: a solid version control tool
February 04, 2019
Git: a solid version control tool
Score 9 out of 10
Overall Satisfaction with Git
Git is our core version control tool in my company and it is used not only in our development department but in multiple other departments like Tech Writing and Implementation. In development, we use Git to track our development changes and to organize our release cycles with different branches to track our stages. We utilize tools that integrate with Git like Bitbucket to have a front end UI that helps us manage things like pull requests, which are branches off of QA for development changes we would like to add to release. Git is the core infrastructure in what we do here and I have been using it every day for the past 6 years.
- Ability to create branches off current releases to modify code that can be tested in a separate environment.
- Each developer had their own local copy of branches so it minimizes mistakes being made.
- Has a user-friendly UI called Git Gui that users can use if they do not like using the command line.
- Conflicts are displayed nicely so that developers can resolve with ease.
- Sometimes conflicts arise over white space which can be annoying.
- You cannot do any advanced features in the built-in GUI, you have to use an application like Bitbucket for these things.
- It can have a very high learning curve for new users because there are so many commands and things you can do that it gets very complex very fast.
- Git is essential for our development cycle and without it, we could never be efficient at our jobs.
- Brings teams together and gives the ability to work on the same projects simultaneously which results in faster releases.
I do not have much experience with other version control tools. Git is highly used everywhere and it is hard to find a development team that isn't using it. One thing I know is that with Git each developer has their own copy of a repository so they could technically work offline whereas with other tools that is not the case.
Git is well suited for development, for tracking code changes in files, creating branches off projects to create pull requests that get merged back in, etc. It is used for anything we want to track on a computer like Source code, SQL scripts, documentation (Html/PDF/word docs), and project files for applications. Not really appropriate for backing files up just to have a backup, google drive is a better option for that.
13 - Mostly developers, but also integration specialist and the tech writing department. Integration specialist use git for their SQL scripts and project files for Centerprise. Techwriters utilize Git for their HTML content project files to track and deploy their help site.
5 - All developers support Git. The type of skills needed are problem-solving, moderate ability to think logically, moderate command line tool experience, and an understanding of Git commands.
- Track source code changes.
- Remote storage of important source code.
- Organization of branches to support quality releases.
- Integration with products like Bitbucket to visualize branches and organize pull requests.
- Took advantage of branch history. This helps when needing to reapply changes for upgrades.
- Recently utilizing pull request and code reviews to increase high-quality code.
- Integration with more application to support continuous integration.
Git has met all standards for a source control tool and even exceeded those standards. Git is so integrated with our work that I can't imagine a day without it.
Evaluating Git and Competitors
- Product Features
- Product Usability
- Product Reputation
Git is free, has a large amount of features, and is highly used and supported in the industry.
It's easy to set up and get going.
- Implemented in-house
No - Git init.
- Learning commands
The internet is my support.
Problems get solved
Kept well informed
No escalation required
Immediate help available
Support understands my problem
Support cares about my success
Quick Initial Response
Not Available - I haven't need support for git. Stack overflow is my support team.
Git is easy to use most of the time. You mostly use a few commands like commiting, fetch/pull, and push which will get you by for most of time.
Like to use
Difficult to use
Requires technical support
Slow to learn
Lots to learn
- Commiting changes
- Creating new branches
- Checking out or cloning branches
- Merging branches
- Resolving conflicts
- Reverting things when all goes wrong