One of the crucial differences between blockchain and Git is that Git is fully subserviant to humans and anything can be undone by humans.
If your blockchain house title is stolen by a hacker, either the courts (rightfully) aren’t going to put any significance on the state of the blockchain and are going to say “yeah, you still own your house” (in which case what was the point of using blockchain in the first place rather than a SQL database or some such where mistakes and problems and fraud can be undone without cryptographically-hard obstacles in the way) or if in this hypothetical the Libertarian dystopia has progressed to cartoonish extremes, you’re just SOL and lost your house, which just isn’t even remotely realistic.
Git is not a blockchain. Most importantly, it’s not distributed. There’s a singular git server that all git clients for that repository connect to and use as a source of truth.
In contrast with Centralized Version Control Systems (CVCSs), the distributed nature of Git allows you to be far more flexible in how developers collaborate on projects. In centralized systems, every developer is a node working more or less equally with a central hub. In Git, however, every developer is potentially both a node and a hub; that is, every developer can both contribute code to other repositories and maintain a public repository on which others can base their work and which they can contribute to.
That is patently false. It was developed to help develop the Linux kernel, which famously has multiple decentralized repositories managed by different maintainers.
The fact that most companies use it in a way you describe, with only one central repository, does not mean that git is not distributed.
I agree it’s not a blockchain, (although it has chain properties) but it is kinda decentralized. By convention projects almost exclusively have a single remote, and by convention that single remote is treated as an ultimate source-of-truth… But you can absolutely have the same repo with multiple remotes defined, and one could establish different schemes to determine which branches on which remotes represent what in terms of “truth”.
I’ve pulled code branches between my computers without publishing to an external server plenty of times. It’s a really useful feature to be able to keep stuff in sync with a version history.
Git is a real-life use-case
One of the crucial differences between blockchain and Git is that Git is fully subserviant to humans and anything can be undone by humans.
If your blockchain house title is stolen by a hacker, either the courts (rightfully) aren’t going to put any significance on the state of the blockchain and are going to say “yeah, you still own your house” (in which case what was the point of using blockchain in the first place rather than a SQL database or some such where mistakes and problems and fraud can be undone without cryptographically-hard obstacles in the way) or if in this hypothetical the Libertarian dystopia has progressed to cartoonish extremes, you’re just SOL and lost your house, which just isn’t even remotely realistic.
Git is not a blockchain. Most importantly, it’s not distributed. There’s a singular git server that all git clients for that repository connect to and use as a source of truth.
Git was built specifically to avoid the necessity to have one authoritative server.
https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows
That is patently false. It was developed to help develop the Linux kernel, which famously has multiple decentralized repositories managed by different maintainers.
The fact that most companies use it in a way you describe, with only one central repository, does not mean that git is not distributed.
I agree it’s not a blockchain, (although it has chain properties) but it is kinda decentralized. By convention projects almost exclusively have a single remote, and by convention that single remote is treated as an ultimate source-of-truth… But you can absolutely have the same repo with multiple remotes defined, and one could establish different schemes to determine which branches on which remotes represent what in terms of “truth”.
I’ve pulled code branches between my computers without publishing to an external server plenty of times. It’s a really useful feature to be able to keep stuff in sync with a version history.
Counterpoint: it is a chain and there absolutely is not one server.