Likelihood to Recommend 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.
Read full review We use SQL Compare to troubleshoot performance problems quite a bit since our data model is more like a template and not everything is 100% in sync and customization occurs between different client databases. We continually get pulled into performance issues and the developers will say Client A is performing different than Client B, why? Using SQL Compare, we usually find that one client was tuned and had indexes altered or added that weren't deployed to all clients or other objects weren't deployed correctly during the release. On the other hand, since our data model practices allow client databases to drift I tried to create a new golden image by trying to compare multiple databases based on the same data model and found it to be a very difficult process to complete using SQL Compare. SQL Compare gave me too much information and doesn't allow enough filtering to eliminate a lot of the noise.
Read full review 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. Read full review Simple and easy comparison of database schemas and data. Differences can be copied or synced from one database to another with a click of a button. You can save "projects" so that you can easily rerun a previous comparison whenever you need to. It has a very simple, easy to learn interface. I've never needed to read any documentation or watch any tutorials in order to figure out how to do something. Read full review 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. Read full review Pricing.... I wish there was an inexpensive developer version I could buy for myself. Portability.... I would like to use it from a flash drive so I can use it where ever I am asked to work. Unbundled.... This may be available already but I dont' recall I can buy it cheaply as a stand-alone product. Its only part of the bundle - cost effectively. Read full review Likelihood to Renew Git has met all standards for a source control tool and even exceeded those standards. Git is so integrated with our work that I can't imagine a day without it.
Read full review Usability Git is easy to use most of the time. You mostly use a few commands like commiting, fetch/pull, and push which will get you by for most of time.
Read full review It's a good tool to have, but becomes expensive to buy a user license for each developer.
Read full review Support Rating I am not sure what the official Git support channels are like as I have never needed to use any official support. Because Git is so popular among all developers now, it is pretty easy to find the answer to almost any Git question with a quick Google search. I've never had trouble finding what I'm looking for.
Nate Dillon Front-End Web Developer, Office of Mediated Education
Read full review They have a great community website where you can search for answers but are also very responsive when it comes to direct support.
Read full review Implementation Rating It's easy to set up and get going.
Read full review Alternatives Considered I've used both
Apache Subversion & Git over the years and have maintained my allegiance to Git. Git is not objectively better than Subversion. It's different.
The key difference is that it is decentralized. With Subversion, you have a problem here: The SVN Repository may be in a location you can't reach (behind a VPN, intranet - etc), you cannot commit. If you want to make a copy of your code, you have to literally copy/paste it. With Git, you do not have this problem. Your local copy is a repository, and you can commit to it and get all benefits of source control. When you regain connectivity to the main repository, you can commit against it. Another thing for consideration is that Git tracks content rather than files. Branches are lightweight and merging is easy, and I mean really easy.
It's distributed, basically every repository is a branch. It's much easier to develop concurrently and collaboratively than with Subversion, in my opinion. It also makes offline development possible. It doesn't impose any workflow, as seen on the above linked website, there are many workflows possible with Git. A Subversion-style workflow is easily mimicked.
Read full review I've used Visual Studio Database Projects for this type of work in the past with some success, but Redgate SQL Compare is faster, more transparent, and simply easier to use. Faster is self explanatory. More transparent, means that it's much easier to set up your desired options for schema change deployment scripts. Easier to use, It's really dead simple. Start a project, connect your source, connect destination, click compare.
Read full review Return on Investment Git has saved our organization countless hours having to manually trace code to a breaking change or manage conflicting changes. It has no equal when it comes to scalability or manageability. Git has allowed our engineering team to build code reviews into its workflow by preventing a developer from approving or merging in their own code; instead, all proposed changes are reviewed by another engineer to assess the impact of the code and whether or not it should be merged in first. This greatly reduces the likelihood of breaking changes getting into production. Git has at times created some confusion among developers about what to do if they accidentally commit a change they decide later they want to roll back. There are multiple ways to address this problem and the best available option may not be obvious in all cases. Read full review Makes deployment fairly simple. Cutting our deployment time down. With the SDK, we can customize our deployment process very quickly and easily. History is not great, it does create scripts you can go back and see but it would be nice to have a quicker version view by object to save time. Read full review ScreenShots