When we have a large organization and number of changes and deployments are more than we should go for Copado. As we know it is a paid managed package and the cost is high so for dealing with fewer deployments it is not preferable to buy. Copado is well suited for users who don't have much technical understanding. So those users can see the User interface select the changes that need to be deployed by selecting the metadata. From Git operation to deployment all is handled by Copado itself. Copado has reduced the efforts for creating the package.xml and direct deployments can be done within a few clicks. Another Major aspect is that it can be directly synced with Jira or Azzure board from where the user stories will be synced and actions can be performed accordingly. For small organization, Copado can be expensive and to set up and maintain we need a technical person to do so.
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.
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.
very good user interface. It has reduced tons of manual efforts for the developers. Very easy to validate the release work. Easy to club multiple stories into one deployment. We can integrate Copado with our JIRA and all the PR’s are visible under the user story on JIRA board. But this can be overwhelming for beginners
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.
There are tools such as ANT migration tool or using sfdx but Copado makes the deployments super simple. If a user is not that technically strong still he can use Copado and deploy the changes in a few clicks. Copado provides a complete package of maintaining the development and repositories in a common platform. There are pipelines that you can set that changes will move from which org to the final org in a very organized manner. We can perform static code analysis at the time of deployment of the changes and we have to clear those if we need to deploy the changes. Creating pull requests is super easy and can be managed by Copado itself. Overall a superb managed package for deployment in Salesforce.
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.
It has reduced the efforts to create package.xml manually and deploy the changes
Another positive impact is that we can track the commits to which org they have reached in an organized way and we don't need to maintain them separately
For setting Copado it take a lot of time and training is required for the complete setup which is time-consuming
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.