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.
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
Likelihood to Recommend
Git is suited not only for software work, or the tech industry as a whole. It's true it's the most obvious use but I've recommended Git for people in various industries, from finance to art. The truth is that if you're working on files that are meant to be worked on by other people as well, in a collaborative effort, I would without a doubt recommend Git.
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 being used as version control software to merge different sets of code together and keep a log we can look back on if problems occur. I don't think there is any real competitor to Git. It can also be used to try to track your commit level vs others.
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.
Likelihood to Recommend
In my opinion Git is always best suited for every version control and anything but the most simplistic of temporary code should be version controlled. It takes so little effort and can save your entire application. SVN was much worse at merging when I used that for a couple years.
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.
We use Git to manage a truly massive code base. Every developer is added to our enterprise GitHub server and is expected to use it when writing and reviewing code. The problems we try to address with Git include version control and cross team review.
Pros
Code management. This allows us as a team to manage unique code bases for each employee with little to no overhead.
Code backup and versioning. Git truly has the most rebust and reliable code versioning system in the industry.
Handling large amounts of unique data from a variety of teams. We sometimes have to work across teams and across organizations when writing and testing code; Git allows us to do this even when developers are on the other side of the world.
Cons
There is a serious lack of GUI clients for Git.
The command line version of Git is often obtuse and confusing to use.
When something goes wrong in Git, it often does so spectacularly. We spend a lot of man hours cleaning up Git-created messes.
Likelihood to Recommend
Git is super well suited to environments populated by engineers and developers. Git is useful for tracking changes across many people and teams. An environment that Git is not optimal for is management or marketing. Git does not work well with art or promotional materials. The complexity of the tool makes it ill suited for non tech fields.
VU
Verified User
Project Manager in Engineering (Computer Software company, 10,001+ employees)
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.
Our organization uses Git for code versioning, namely to track and manage changes to the codebase in a way that avoids accidentally writing over another engineer's code, resolves change conflicts, and provides a rollback option in the event of a breaking change. Git has become an important part of the development workflow for most software engineering teams. The problem Git addresses for us is the problem of having multiple people updating a codebase. One developer might change a portion of the code in one area and another might change it somewhere else, and managing the merging of these changes together is the main job of Git. To facilitate this Git stores every committed change in a log, and this log can be reviewed and even used to roll the code back and reject changes further down the pipeline. In our organization, each engineer creates a new branch from the master codebase whenever they are starting a new task in the project, and once they have completed that task and confirmed the code is stable, the code can be merged into the master codebase and eventually included in the production build. Our team has a strict policy of not merging your own code, so the code is reviewed and approved by another engineer whom merges it in after assessing its impact. We use Git across our engineering department only.
Pros
Git manages the merging of changes from different team members and provides for a way to roll back those changes when necessary.
Git allows for management of multiple branches of a code project and merging them in through a controlled and considered manner.
Git provides a complete history of all code changes and who made them, making the process of identifying when breaking code came in a much easier one along with identifying the code to roll back to (when needed).
Git is a powerful tool for change management and avoiding breaking code making its way into production.
Cons
Git has a steep learning curve in that it has traditionally been used through the command-line interface, and has a lengthy set of commands you must learn how to use to work with it efficiently. Fortunately, there are some good GUI-based applications to help you with this, but to really be a Git master you will have to know how to use in from the console.
At times it can be difficult to determine just what action is appropriate when a mistake has been made in a Git commit. A deep understanding of how Git works can be required to correctly navigate the steps to recover from a bad commit.
Git could benefit from an overhaul of its command syntax to focus on the subset of Git commands that most developers use all the time.
Some Git commands have names that can prompt misunderstandings as to what they actually do. A prime example of this is "git blame" which simply tells you whom made a specific change to the code, but sounds like it is going to automatically report someone to their boss for a dressing-down.
Likelihood to Recommend
Git is very well suited for teams of software engineers who are collaborating on a software project. It makes life much easier for project managers, team leads and software architects to make decisions about which code to allow in and which to send back to the drawing board. It can also be a good tool for solo developers to use to manage and showcase their codebase and is, in fact, the versioning system on which the most popular code hosting platform, GitHub, is built on.
Git has at times been used for less technical content such as document management, but this may be a less appealing tool for non-technical professionals such as writers, whom may not want to deal with its learning curve and may find tools built into MS Office or Google Drive to be sufficient to manage document versions.
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)