TrustRadius Insights for Git are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Business Problems Solved
Git is a widely used version control system that offers a range of use cases for different teams and organizations. Engineering and dev-ops teams rely on Git to handle version control of codebases, allowing them to create branches for features and bug fixes. By using Git, they can easily merge and release code to different environments, ensuring smooth software development processes.
Freelance software developers also find value in Git as it enables them to work on multiple machines and platforms, providing flexibility and backup of source code. They appreciate the ability to easily manage and track changes in their codebase, ensuring effective collaboration with clients and the ability to revert back if needed.
Organizations benefit from Git's ability to store source code across multiple repositories and branches. They typically have a mainline development branch for code review and automated builds, allowing for efficient management of projects. Git addresses the problem of multiple people updating a codebase by managing merging of changes, storing committed changes in a log for review, and offering rollback options when necessary.
Furthermore, Git fosters collaboration and code contribution among developers by preventing conflicts and facilitating efficient software development. It is successfully utilized by various departments like Tech Writing and Implementation, helping streamline release cycles and integrating smoothly with other tools like Bitbucket for pull requests.
Additionally, Git is an essential tool for managing app development processes. Its usage ensures faster release of changes while minimizing negative impacts on existing functionalities. Many companies rely on Git to manage massive codebases and enable cross-team code review, making it a reliable solution for tracking project progress and ensuring software security vulnerabilities are addressed.
Overall, Git's ease of use and cleaner approach to version control have received praise from users. It is widely recognized as stable and reliable for managing code, providing a centralized area for sharing and collaborating on projects across different teams.
In summary, whether it's handling version control, managing projects for customers, tracking changes in websites or internal scripting projects, or enabling concurrent work, Git proves to be a valuable and versatile tool for developers, freelancers, and organizations alike.
We use Git in our entire organization for our codebase versioning/management. We migrated from TortoiseSVN. We work in different teams so every team takes the branch from production/master and works in their own branch so that it should not affect any other's work.
Pros
Fastest Branches Switching, in fractions of seconds we can switch between branches.
Easy to pull/push code.
Cons
When some thing went wrong on production, we have to create the revert of the pervious commit, so after fixing the issue we need to revert it again so that the original changes can apply, some times a chain of reverts continue. :(
Likelihood to Recommend
- Easy to clone the repos. - Secure to keep all the previous history changes. - Fast to switch between branches. - Easy to manage the codebase when we are working in the team.
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.
Pros
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.
Cons
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.
Likelihood to Recommend
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.
My organization uses Git for version control of our various codebases. It is used by the engineering and dev-ops teams. We use git because it reliably handles creating branches for various features and bug fixes, and provides an effective and trusted way to merge and release that code to our different environments.
Pros
Ability to create branches and merge those changes in - very cleanly and in an organized way. Other features such as cherry-picking and rolling back are extremely useful.
Diff-ing changes is a great utility for reviewing code and understanding the history of code changes.
Git makes working in teams on the same set of code very possible, compared to some of the alternatives like SVN.
Cons
There can be quite a number of commands once you get to the advanced features and functionality of Git. Takes time to master.
Doesn't handle static assets (ie: videos, images, etc.) well. Although in the recent years, new functionality has been introduced to address this.
Many different GUIs, many people (including myself) opt to just use the command-line.
Likelihood to Recommend
Git is by far the best Source Control Management Tool I've used. I would recommend it to anyone, whether it's an individual working on their own project, a small start-up company, or a huge organization with thousands of developers. Maintaining code via source control is absolutely mandatory for all developers everywhere.
Git is used as alternative solution to mercurial. It is used more by my department and is used to manage projects for customers. We are using them in the cloud version to share code with our customer. Each team has their own repository per customer. We usually receive this repository from the customer, because he wants to have control over this.
Pros
Cooperation with customer
Integration with visual studio
Distribution
Branching
Cons
Too much possibility to use console and programmers instead of concentrating on programming that has to think about pushing.
For me it's more a Linux than a Windows idea.
Likelihood to Recommend
Git is suited very well for programmers and less for new programmers that are mouse oriented. it gives very good support as visual studio tool and I think that thanks to this it is used very often within the Microsoft community. I'm very much MS oriented so my perspective is different than the others and I heard that the world is not only MS. In our company it is very well suited within offshoring projects to share and distribute source code around countries and companies.
Git is mainly used in my organisation by the technical team who are mainly responsible for project delivery. It provides us with an avenue for version control and code management. It addresses the risk of time and effort loss during project implementation.
Pros
Version control and backups
Branching and merging
Open source
Cons
High learning curve for beginners
Primarily aimed at technical users
Built-in GUI is hard to navigate and use.
Likelihood to Recommend
Very suitable for the project implementation stage, where version control is required. It is more suitable for files that mainly involve text formatting for change/version tracking. It is less appropriate in situations where entire files change rapidly on each commit (e.g. image/graphic design files). Git is less suited for management personnel.
VU
Verified User
Analyst in Engineering (Information Services company, 11-50 employees)
Git manages the source control over all of our web-related codebases. It allows us to be light and flexible with our approach to not only development and coding, but also using a continuous integration workflow that automates processes in the deployment chain. Without Git, life as a developer would be quite painful indeed.
Pros
It handles many of the complicated features of version control for you like merging branches
It has a diverse ecosystem of tools that utilize its many features
Documentation for Git and its workflows can be quickly found and understood
Cons
Some of the commands are a little obtuse if you're not using a Git Client
Since Git is so widely used in the development space, it's easy to believe that growth and innovation might become stale in the area of version control. Competition is sparse these days and I'm curious if this "Standard" is going to keep moving forward somehow.
It's hard to fault a tool that is so ubiquitous and hardly gets in your way.
Likelihood to Recommend
If you're developing any software that requires the need of keeping the source code around, then you should be using Git. The only time I can think of an instance where I might suggest not using Git is when you deal with an integrated and closed development environment where the source code is tightly held and managed within the IDE or environment itself. This type of development is rare these days but does still exist. As such, it would take extra measures to extract the source code out of the environment to then be able to utilize the benefits of Git. Everyone else should utilize Git because it helps in many aspects of Source Control, for example:
We currently use Git to track all changes in our multiple websites and landing pages, along with internal scripting projects. Git addresses the issue of keeping track of the code we have created, and maintains security and redundancy between employees. In this way, we can be sure that no one person or one device has all the information we use daily to keep our systems and websites running.
Pros
Git works quite well to keep a record of the code and the changes made on code for our websites and internal scripting.
Git allows multiple developers to work on a single project with the checkout process.
Git allows us to track who makes edits, when they were made, and how we can go back and fix any mistakes or bugs.
Git is FAST!
Cons
Git can be slow to learn, and much of it is done through the command line.
Git is a single solution for a code repository, so if you are looking for larger scale backup or documentation, it might not be the right fit.
Likelihood to Recommend
Git is great for coding for individuals and teams. The ability to have versioning and how git is built into many development tools helps to make using one of the many git repository services easy. I can imagine that for some projects, there are better solutions for keeping code, but for most situations, git works well.
I am a freelance, full-stack, software developer. Git repositories are used for all my code. I use multiple machines to create software for different platforms - Ubuntu to create websites to run on Heroku, and iOS apps. Git allows me to work on any machine while away from my normal setup. It also keeps all my source code backed-up, and I have the ability to grant access to my client if required.
Pros
Backup. It's the cheapest and easiest backup solution I've found in 20 years of coding. If/when a machine goes down I know I have no issues with losing work.
Access. I can access my code on any machine, anywhere I need to be. If I find myself with some spare time, and any machine at hand, I can dive in and carry on working.
Forking. It's very easy to fork new ideas without losing the current development thread.
Cons
I mainly use xCode and SublimeText, both of which provide a number of useful commands to backup my code to git. I'd like to see further integration, perhaps automated.
Likelihood to Recommend
Developers often work in pairs, and on multiple projects at once. Sharing code across multiple machines can be very difficult. I don't know how we did it before Git came along - well, I do, but it wasn't pretty! Git has been a lifesaver on many occasions when systems have gone down due to hard drive failure. Git has also made it possible for me to manage and monitor the input of remote developers, as I can see in the commit logs for each push to the repositories.
We are using Git to store our source code with all of our clients. All the technical staff uses Git as a CVS. It's an awesome product for versioning and managing source code no matter what programming language you use.
Pros
Versioning
Revision of newly implemented code by using Pull Requests
Branches to allow developer working in different features at the same time
Good integration with CI and CD tools
A lot of plugins and tooling are available to be integrated with Git
Cons
Not sure, it has been working awesome to solve our needs and there is a lot of documentation available to meet the product. As you study features you discover ways to use them.
Likelihood to Recommend
Even if you have only one developer working on a project it is always a good idea to use a CVS like Git to version the source code. Not sure where it shouldn't be used.