Git solves the deeply complex problem of distributed version control. Most complaints about git are actually complaints about the essential complexity of the problem, not the accidental complexity of the tool used to solve it.
Git solves the deeply complex problem of distributed version control. Most complaints about git are actually complaints about the essential complexity of the problem, not the accidental complexity of the tool used to solve it.
I want to share 5k LOC with a colleague. Anyone who thinks that requires a decentralised solution in 2023 is unwell.
I recently wasted a few hours because I forgot to fetch before running some code. Sure the UI could be better (if you're very tired and you're told you're up-to-date you'll stupidly believe it), but fundamentally the 'feature' that caused this problem is something I'll never use. I'm always going to code with a connection to the internet. I shouldn't need to mentally keep track of local vs remote because that distinction simply shouldn't exist.
The repos I work on are often smaller than the average webpage, I'm really not buying the idea that in the age of HD streaming bandwidth-concerns are an issue here.
Incidentally none of the teams I've worked on ever even use any git features like bisect. The cult of git means everyone has to use git, even though for most people that just means many hours wasted googling with absolutely nothing to show for it (as in git is strictly inferior than just sharing files across a networked drive for many teams' use-cases).
Meanwhile, others work in airplanes and in the woods.
Not using git bisect is your loss. I'm very happy it exists, and wouldn't trade git for just files on network drives.
You can absolutely build a system that pushes (some of?) your branches on every commit.
For me personally, that'd be annoying; every time I talk to the git server, I want to insist on a Yubikey touch.
Probably the only thing that makes me not miss SVN too much.