4 ms·
It's just the realities of participating in a distributed system. There's no 'current state' or 'now'. You could make the mental model easier to understand by
by mrkeen 2y ago
It's just the realities of participating in a distributed system. There's no 'current state' or 'now'.
You could make the mental model easier to understand by centralising the state and switch to pessimistic locking instead of optimistic. But then you'd have to live with the downsides of those, like git's predecessors.
- SJC_Hacker 2y agoThere's definitely a local "current state". Its just that there's no inherent concept of a central repository or source of truth. In practice most people use it as if it does - the remote is "preferred". Which isn't such a bad thing if you know how to use branches and resolve conflicts properly. Best practice is to create a new branch for each feature, then create a PR into the proper branch. Early on in development it can be very chaotic as so much code is changing so quickly. No revision system is going make up for a lack of communication and division of responsibilities.