Skip to main content
TrustRadius
Git

Git

Overview

Recent Reviews

TrustRadius Insights

Git is a widely used version control system that offers a range of use cases for different teams and organizations. Engineering and …
Continue reading

Git it today

10 out of 10
January 20, 2020
Incentivized
Git is currently being used for version control in our IT department. This allows us to not only keep various projects under source …
Continue reading
Read all reviews

Awards

Products that are considered exceptional by their customers based on a variety of criteria win TrustRadius awards. Learn more about the types of TrustRadius awards to make the best purchase decision. More about TrustRadius Awards

Reviewer Pros & Cons

View all pros & cons
Return to navigation

Pricing

View all pricing
N/A
Unavailable

Sorry, this product's description is unavailable

Entry-level set up fee?

  • No setup fee

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services

Would you like us to let the vendor know that you want pricing?

5 people also want pricing

Alternatives Pricing

What is GitHub?

GitHub is a platform that hosts public and private code and provides software development and collaboration tools. Features include version control, issue tracking, code review, team management, syntax highlighting, etc. Personal plans ($0-50), Organizational plans ($0-200), and Enterprise plans…

What is Liquibase?

Liquibase is a database change management tool that helps teams release software faster and safer by bringing the database change process into existing CI/CD automation. According to the 2021 Accelerate State of DevOps Report, elite performers are 3.4 times more likely to incorporate database…

Return to navigation

Product Demos

Git Merge and Rebase Demo

YouTube

Git hooks, practical uses (yes, even on Windows)

YouTube

Git Tutorial For Beginners | What is Git and GitHub? | Git Tutorial | DevOps Tutorial | Simplilearn

YouTube

Git Push Command | Git Bash Tutorial | Git Commands | Git Tutorial For Beginners | Simplilearn

YouTube
Return to navigation

Product Details

Git Technical Details

Operating SystemsUnspecified
Mobile ApplicationNo
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(75)

Community Insights

TrustRadius Insights are summaries of user sentiment data from TrustRadius reviews and, when necessary, 3rd-party data sources. Have feedback on this content? Let us know!

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.

Users commonly recommend learning Git thoroughly to utilize its benefits for code repository management, version control, and team collaboration. They emphasize the importance of utilizing the command line interface and following established processes for branching and merging. Users also encourage exploring advanced features, seeking support from online resources like Stackoverflow, and considering other alternatives if needed. Overall, users consider Git to be an essential tool with excellent features and community support in the software development realm.

Attribute Ratings

Reviews

(1-25 of 36)
Companies can't remove reviews or game the system. Here's why
Gabriel Freire | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
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.<br>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.
  • Version Control
  • Conflict Resolution
  • Collaborative Work
  • UI
  • Learning Curve
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.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Git is used across the organization for version control of the code build. It helps us track our deployments and snapshots of various artifacts we develop. All kinds of programming languages and files are checked in to git via github. We also control the code migration between various environments using Git.
  • Pull requests to control what's checked in where
  • 2-step commit and push to enable cleaner check-in process
  • Personal forks to help developers with quick development and testing
  • I feel that code merging using command line is not very straightforward when there are conflicts
Git is well suited for code that can be versioned. It cannot be effectively used for auto-generated code files from tools. For instance, Git is well suited for any code that we build using languages such as Java, python, scala, node, etc. However, the java code generated from tools such as Talend are not very well tracked when we use Git.
January 30, 2020

Using Git for 5+ years

Suleman Ahmad | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Fastest Branches Switching, in fractions of seconds we can switch between branches.
  • Easy to pull/push code.
  • 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. :(
- 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.
January 23, 2020

Git is the VCS King

Josh Stapp | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Better merges than anything else.
  • Logging.
  • Still some confusing merge issues.
  • I would like to see a system IDEs can use that automatically notifies you if someone pushes.
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.
January 20, 2020

Git it today

Ray Smith | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Git is currently being used for version control in our IT department. This allows us to not only keep various projects under source control, but also to work on many different features concurrently, and maintain many different versions of our software.
  • 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.
  • 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.
Git is well suited for any file based scenario where source control is required. We mostly use Git for managing software repositories, but it would also be well suited for document version control. Anything that requires the modification of files and the potential need to roll back to a previous version is a good candidate for Git. The one scenario that in my opinion breaks this rule is database version control. With databases, we manage changes to table structure, functions, stored procedures etc., but I have yet to see good implementation of this with Git.
Nate Dillon | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We use Git as source control for all our projects across our entire department. I know there are other departments in our organization that use it as well. I also use Git for all my personal projects and side projects. Git enables all of our developers to collaborate and contribute code to our projects simultaneously, preventing conflicts.
  • Source control
  • Collaboration
  • 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.
Git is great for pretty much any coding project, whether working on a team or with a single developer. For teams, it enables multiple developers to contribute without getting in each other's way. Git also keeps a history of all code changes, which is why I would also recommend using it on projects with a single developer. The only real scenario where I would maybe not use it is when working with non-tech people. But even then, I might recommend getting them set up with a Git client app and teaching them how to use it.
Score 6 out of 10
Vetted Review
Verified User
Incentivized
Git is used mostly as a source version controlling system which allows developers to collaborate with one another. It helps teams to contribute to various projects by pushing code to GIT. It can be used for release versioning. It is helpful to know which version has been released in production and at what codebase.
  • Flexibility
  • Version history
  • Merge conflict
  • Amending commits in remote repo
Git is well suited for collaboration. It can be used for multi-branch repositories and managing branch-heavy workflows. Collaborating is easier in Git. The disadvantage of using Git is that it is less secure. If the project is open source then it is fine, but Git charges for having a secured repository. Meanwhile, it offers private repos for free tier licenses.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Fast.
  • Robust.
  • This tool is just perfect.
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.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Our whole company uses Git for code collaboration where a team can continuously develop features for the software. Also, it allows our peers to review the code and once necessary approvals are received, we can merge the code ensuring proper workflow is followed. Git gives us helpful insight regarding project progress, software security vulnerabilities.
  • It's a great version control system helps us to develop the software incrementally releasing stable versions.
  • Git gives proper reminders when ever the my peers requests code review approval.
  • Git can be easily integrated with other software like Slack, Developer workbenches like Web Storm, Visual Studio Code, etc.
  • Git commands are very intuitive, makes us to easily understand and get the work done.
  • Git gives us great insights on the project progress like the number of Pull Requests Raised, Closed Issues, etc.
  • Git gives an intuitive UI, so the user can operate through the web.
  • Git can still improve UI design.
  • Git can also embed some artificial intelligence, and suggest alternate ways to solve the problem when the code review happens.
  • Git can also suggest when the deadline for any reviews should be closed so it helps the developers in the team to finish that PR within time.
Git is an open-source tool suitable for both small as well as large teams. It's great software for code collaboration and version control. I can't think of any situation where it will be less appropriate.
November 05, 2019

Git - An Absolute Must

Balázs Kiss | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
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.
  • 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
  • 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
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.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
GIT is being used as a version control tool within our organization. Its been used to speed up the code deliveries to different environment and track the changes being deployed to the software product.

GIT being widely used tool has proven itself to be more stable and reliable for code management within organizations and vital for organizations who share their codes(Ex : Integration kits) with their customers IT teams.
  • Better tool for products having faster release cycles.
  • Feature branching is a vital feature available in GIT as it make sure that not all code is merged to the master branch unless its production ready.
  • Easy to use commands and speed in Git operations.
  • GIT Commands could be more natural and intuitive.
  • GIT should improve handling of files like exe, image, docs etc.
  • Code commits on multiple branches should be available.
GIT is good to be used for faster and high availability operations during code release cycle. Git provides a complete replica of the repository on the developer's local system which is why every developer will have complete repository available for quick access on his system and they can merge the specific branches that they have worked on back to the centralized repository.

The limitations with GIT are seen when checking in large files.
César Costas Carrera | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Git is used across most of the organization, if not all of it. Git is a Version Control System, which means that allows you to "backup" and control who edited your files, providing its best value when it comes to plain text files, such as code.
  • Git is a distributed system. Usually adding the word "distributed" makes things very complex and messy, but not with Git, thanks to its branches and merge control.
  • It's insanely fast.
  • Merges sometimes will produce conflicts that are time-consuming but its resolution is trivial if you consider the history of changes.
Git is the best suitable tool whenever you need to backup your documents quickly. Even more so if you need to keep track of who made changes.

It is not suitable when you want to work in a "blocking" mode, meaning:
- blocking any other user from editing while another user is editing.
- setting editing permissions per file avoiding users to edit or read a specific file.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Git is being used by the whole enterprise right now. We use it as a version control tool to help our developers manage their code version for better collaboration. Our developers love it and have had a great experience with it.
  • Easy to use version control.
  • Pull and push your code without worrying about messing others' codes.
  • Great support community.
  • It's kind of hard to get hands-on.
  • The Error report is not very specific.
  • Code conflict resolving can be a pain.
If you have a big developing team, you need a version control tool, and Git is the way to go. No other options need to be considered. When the whole team gets used to Git, productivity increases a lot. However, if you are working on your own, Git is still a good tool for managing your code, but its potential will be less appreciated.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Ability to create branches and merge those changes in.
  • Diff-ing changes.
  • Many different GUIs, many people.
  • Understanding Git has a little bit more of a learning curve when compared to other source control solutions.
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.
February 12, 2019

Git things done

Cristian Bodnarasec | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
In our organization, Git is used by several departments for file versioning, collaborative work on the same source code, change tracking, branch merging, version comparison etc. Especially because we have distributed teams all over the world, we needed a reliable tool to achieve these goals, and Git was the natural choice.
  • File versioning - easy to see the history of the changes.
  • Collaborative work on the same source code -- by providing the ability to create branches.
  • Merging branches and comparing versions made easy.
  • It is free and open source.
  • Git is so popular that when hiring, it is easy to find developers who already know this.
  • To use Git at its full capabilities, one needs to spend some time learning it.
  • Command line usage may be an issue to developers used more with GUIs. For those, you may need to add a free GUI or purchase something like Bitbucket.
  • Merging code when there are conflicts can be difficult sometimes from the command line.
  • Git may have bundled in more features that it needs. Most people just need the basics: pull, edit, push, merge.
Git is suited for doing source code versioning of all-size projects, from small to large and very large. Does very well when you have distributed teams, as it increases the team's focus, collaboration, decreases the time needed for merging code and finding differences between file versions, and decreases the time needed to make a software release. Therefore, the time to market of new projects or new features is improved (any top manager's desire).
Score 9 out of 10
Vetted Review
Verified User
Incentivized
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 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.
Gabriel Samaroo | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
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.
  • 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.
  • 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.
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.
Chris Martin | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Git is being used throughout our organization by the majority of the development teams--custom app development and off-the-shelf customized products. We primarily use Git as a source-code management, a repository, and for revision control and deployment (integrated with other apps to support this function). Being on a large software development team with multiple different developers pitching in on in-house applications, it's essential that we have a tool like Git to manage multiple processes involved with app development. Git allows us to release development changes faster and minimizes potentially negative impacts to our production releases. I also use Git for personal hobby and freelance projects.
  • Git allows for collaborative development projects, without worrying about impacting the master revision. By using branches in Git, developers can get a messy as they want, knowing that they can revert to a previous revision.
  • The ability for co-located and remote teams to develop on a single project independently. From a business perspective, this allows you to strengthen your team by not limiting your employee or team selection processes to a specific geographical location. It also eliminates the requirement for a physical centralized location for co-workers to meet and work.
  • Git allows for code-comparison so that developers can see what changes they're merging together.
  • One of my biggest gripes with Git is the learning curve. Although I am now fairly seasoned, I vividly remember the struggle to learn the ins-and-outs of Git when I first started using it. It has come a long way since I first started using Git, so there are now a lot of fixes to age-old problems, as well as GUI interfaces and 3rd party integrations, eliminating a lot of the initial learning curve for newbies.
Git is best suited for storing and managing source code in a local or remote repository. For example, myself and 5 other developer friends are working on a hobby app, but we all work full-time, busy lives, and have no clear deadline in mind to develop this app. Each of us can develop our portions of the app independently on our own time, remotely checking-in our source-code revisions to a centralized repository. As each of us pushes our code to the repository, we can begin to merge the code together into a single revision. Let's say Joe (made up friend name) decides to go a little wild and releases some really experimental code that causes the rest of the app to fail when put into production. Since we used Git, it's easy for us to revert back to a previous release, removing Joe's code changes and fixing the issues with the release.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
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.
  • 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.
  • 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.
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.
Jakub Wilk | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Cooperation with customer
  • Integration with visual studio
  • Distribution
  • Branching
  • 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.
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.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We use Git across all of our development projects in order to work on multiple aspects at once and then merge branches as needed. There are four scrum teams and one Kanban team that handles hardware issues. All the scrum teams are developing and maintaining software to various degrees across the organization.
  • It's the best at version control that I've seen. Rollbacks are a snap.
  • Provides local control down the individual developer level, which in turn allows easy management back up the chain of command.
  • Cloning is perfect when you need to copy a project to tweak it without messing with the main branch.
  • If you're not a developer, it'll take some time to get the hang of it, particularly some aspects of the API.
  • Sometimes the parameters are WAY too long.

For any code commitments from any individual developer of any talent range it's awesome. Getting the hang of it happens over time (and can be speeded up if a senior person looks over your shoulder and gives you pointers). This comes into play for testing feature sets and ensuring branches are merged correctly.

For teams where many developers are working on a single project, Git allows them to all work on the same code without messing up back end work in the process. For any bugs or defects that slip through (big ones, I mean), it's super easy to roll back to an earlier version and call it good.

Joel Tanzi | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
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.
  • 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.
  • 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.
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.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
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.
  • 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.
  • 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.
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.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Version control and backups
  • Branching and merging
  • Open source
  • High learning curve for beginners
  • Primarily aimed at technical users
  • Built-in GUI is hard to navigate and use.
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.
June 15, 2018

GIT is a gift!

Score 8 out of 10
Vetted Review
Verified User
Incentivized
GIT is used as a server out of the box. It is being used by the whole organization. Dedicated Git server software helps, amongst other features, to add access control, display the contents of a Git repository via the web, and help managing multiple repositories.
  • Unlike centralized version control systems, Git branches are cheap and easy to merge. This facilitates the feature branch workflow very user-understandable.
  • Many commands with many options, some commands are non-intuitive and need a level of understanding the internals of Git, commands and arguments are inconsistent to some degree
Staging area: Make sure your commits have logically grouped changes and not everything else you are working on.
Return to navigation