I really hate GIT
But it's better than all the alternatives.
Once you've got your head round it, it does the right job and does it very well, everything integrates with it, and everyone either understands it or knows that they have to put the effort in to understand it as it's an essential check-box on their CV.
But learning it is a complete git. And I can't help thinking that it would be possible to invent a distributed VCS that did what people want but isn't quite so confusing. But now, if they did then no-one would use it as a critical mass of people understand git.