Coming from CVS and ClearCase it took me some time to adopt to Git. The fact that it was distributed was confusing at first, for example, because I thought that would cause chaos. But the way we used it was actually not “that distributed”. But once I understood how it worked, not doing DVCS was “the wrong way” immediately.
Having used SCCS, RCS, CVS, SVN and then Git - like a progression of successive added features - as well as clearcase, I find the biggest difference when stepping up to git was the flinging of patchballs via the push mechanism.
I like how every working dir is really kinda a repo, and the ability to pick back into a repo from a suitably rich checkout has been a life-saver from time to time.
Having marshalled my own builds by hand or by cron, I do like the CI stuff in gitlab to trigger CIs and CDs; but the stuff in forgejo and GitHub can go to hell without any supper. Enough goddamned YAML, please.
As I think of projects I recently ditched before I started playing with CI, too, I almost want to pick them back up. We talk on another thread about the wasting death of good projects because the greybeards are dying and the kids dont have the time and clue to pick up after them, but maybe this automation will help them to keep maintaining their stuff (and someone else’s) just a bit longer.
Git is good things. Clearcase was awesome but IBM destroyed the best company I ever worked for and bought Rational and withheld licenses while doing so, so they and clearcase can die in the same firey hell as YAML.