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 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.
It's widely used by our component owners to store all the libraries. The beauty about Git compared to others is that it stores snapshots instead of deltas, which makes it just much much faster and more reliable to store code within it. We have integrated Git with Gerrit which stores the whole organization's Git repos within it, thus making it more reliable and scalable.
Pros
Fast.
Robust.
Cons
This tool is just perfect.
Likelihood to Recommend
It is well suited for scenarios wherein you need to manage a lot of code and multiple developers are working on the same repository. The whole point of using Git is that you can create branches, develop the code on it, push it up and again keep on doing this. If you are not creating 10 branches a day you are not using GIT well.
VU
Verified User
Engineer in Engineering (Computer Hardware company, 10,001+ employees)
Since the beginning of the uni, I found out that professional companies use at least some kind of versioning system. Git proved to be one of the most robust and logical systems for that. Every single company I have worked for is, or was about to, use it on a daily basis for supporting bigger codebases. The supporting software makes Git even more useful and one of the core tools used for modern software development. This is the number one must-have for every software development job.
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
Likelihood to Recommend
For beginner programmers or new recruits in our team, I always recommend to learn how to use Git and integrate it into their projects. This tool is essential for every single software writing process, even if you are the only programmer in the team, or a part of a bigger group. Git is an absolute must. The only scenario where it might not be useful is when people cannot configure it properly and include some unnecessary big files in it.
Git is one of the source code version control tools used at my organization. We are using Git (Gitlab) to store our source code across multiple repositories. We have a mainline development branch which all our new code is eventually pushed to after being code reviewed by their branch using pull requests.
Pros
Ability to create branches and merge those changes in.
Diff-ing changes.
Cons
Many different GUIs, many people.
Understanding Git has a little bit more of a learning curve when compared to other source control solutions.
Likelihood to Recommend
Developers can work parallel on projects, increasing the speed at which teams can work, thus causing projects to complete faster. Git has saved our organization hours of having to manually trace code to a breaking change or manage conflicting changes.
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)
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 being used by our organization on an information technology department level. We use Git as our sole Version Control system for all of our software releases, maintenance & deployment.
Pros
Git is designed to work in a distributed manner, allowing each developer to run a local node that has full control of the project. Through this, the developer is able to merge his work with others on a main 'branch' & work in sync without having to worry about stepping on your other developers toes.
Because Git has solved the software problem of dependency, users who commit code that needs to be deleted can just roll back to a restore point, saving precious development time & tons of headaches for Information Technology. This is also very helpful when cloning projects or creating new features on the current project.
Git has a beautiful command line interface that is intuitive, easy to learn & extensible. You can also observe all the changes you have made in your project throughout the development with just a few simple commands. This diverse set of command-line tools is easy for the end user & very powerful.
Cons
There is currently no way to avoid downloading the entire commit history of a repository into the local copy - this can be problematic when cloning projects that have a history of many working submodules & packages.
Advanced configurations (managing multiple branches, having commands that take 2+ arguments) can sometimes be overwhelming for inexperienced users & there is definitely a learning slope for new developers.
You have to be precise when you use your git commands. The nature of Git commands are powerful. So powerful that if you don't know what you are doing and accidentally type a wrong command, you can cause irrevocable damage to your repository & others.
Likelihood to Recommend
Git is a great tool, in fact, possibly the best tool to use when keeping track of all the projects through version control. Through its rigorous program, it allows the end user to see how code behaves before being merged into the main branch, and allows the intelligent user to avoid problems & fix them if necessary. It is easy to learn the common verbiage (clone, add, commit, pull & push) but at the same time have all advanced features that you can need in a future (merge, cherry pick, diffs ...) It is faster than other version control solutions currently on the market, & because it's open source it's just the best go-to for Version Control Software.
VU
Verified User
Engineer in Engineering (Real Estate company, 201-500 employees)
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)