Overall Satisfaction with Git
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.
- Developers can work in parallel on projects. Increasing the speed at which teams can work, thus causing projects to complete faster.
- Git has many integrations and hooks, which work nicely with the various continuous integration and deployment tools out there, such as Jenkins. It makes it easy to build deployment workflows, which leads to a more stable product offering.
- Most developers today are not only familiar with Git, but have used it everywhere they've worked. It becomes very easy to become integrated to a team that's using the same tools you have experience using yourself.
Git is the best Source Control Management Tool I've used. Every company, team, and project I've worked on professionally either used Git 100%, or was moving to Git, away from the alternatives like SVN. Git has all the features necessary, as well as a very large community of users and supporters.
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.